#abc153d. [abc153_d]Caracal vs Monster

[abc153_d]Caracal vs Monster

問題文

カラカルはモンスターと戦っています。

モンスターの体力は HH です。

カラカルはモンスターを 11 体選んで攻撃することができます。モンスターを攻撃したとき、攻撃対象のモンスターの体力に応じて、次のどちらかが起こります。

  • モンスターの体力が 11 なら、そのモンスターの体力は 00 になる
  • モンスターの体力が X>1X >1 なら、そのモンスターは消滅し、体力が lfloorX/2rfloor\\lfloor X/2 \\rfloor のモンスターが新たに 22 体現れる

lfloorrrfloor\\lfloor r \\rfloorrr を超えない最大の整数を表す)

全てのモンスターの体力を 00 以下にすればカラカルの勝ちです。

カラカルがモンスターに勝つまでに行う攻撃の回数の最小値を求めてください。

制約

  • 1leqHleq10121 \\leq H \\leq 10^{12}
  • 入力中のすべての値は整数である。

入力

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

HH

出力

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


入力例 1

2

出力例 1

3

モンスターを攻撃すると、元のモンスターは消滅し、体力 11 のモンスターが 22 体現れます。

この 22 体のモンスターをそれぞれ 11 回ずつ攻撃し、合計 33 回の攻撃で勝つことができます。


入力例 2

4

出力例 2

7

入力例 3

1000000000000

出力例 3

1099511627775