AT_abc153_d [ABC153D] Caracal vs Monster

Description

[problemUrl]: https://atcoder.jp/contests/abc153/tasks/abc153_d カラカルはモンスターと戦っています。 モンスターの体力は $ H $ です。 カラカルはモンスターを $ 1 $ 体選んで攻撃することができます。モンスターを攻撃したとき、攻撃対象のモンスターの体力に応じて、次のどちらかが起こります。 - モンスターの体力が $ 1 $ なら、そのモンスターの体力は $ 0 $ になる - モンスターの体力が $ X\ >\ 1 $ なら、そのモンスターは消滅し、体力が $ \lfloor\ X/2\ \rfloor $ のモンスターが新たに $ 2 $ 体現れる ($ \lfloor\ r\ \rfloor $ は $ r $ を超えない最大の整数を表す) 全てのモンスターの体力を $ 0 $ 以下にすればカラカルの勝ちです。 カラカルがモンスターに勝つまでに行う攻撃の回数の最小値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ H $

Output Format

カラカルがモンスターに勝つまでに行う攻撃の回数の最小値を出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ H\ \leq\ 10^{12} $ - 入力中のすべての値は整数である。 ### Sample Explanation 1 モンスターを攻撃すると、元のモンスターは消滅し、体力 $ 1 $ のモンスターが $ 2 $ 体現れます。 この $ 2 $ 体のモンスターをそれぞれ $ 1 $ 回ずつ攻撃し、合計 $ 3 $ 回の攻撃で勝つことができます。