#1614. 徐老师斗恶龙

徐老师斗恶龙

题目描述

在一个月黑风高的夜晚,徐老师为了救美丽的公主,正在与一群恶龙(形象见上图)殊死搏斗! 恶龙的初始血量为 HH

  • 徐老师可以通过选择一只恶龙来进行攻击。当攻击一只恶龙时,根据该恶龙的血量发生以下情况:

  • 如果恶龙的血量为 11,那么它的血量变为 00

  • 如果恶龙的血量 XX 大于 11,那么这个恶龙消失,然后会出现两只新的恶龙,每只恶龙的血量都是 X/2\lfloor X/2 \rfloor (r\lfloor r \rfloor 表示不超过 rr 的最大整数。)

  • 当所有存在的恶龙的血量都变为 00 或更低时,徐老师获胜。

请找出徐老师在获胜之前需要攻击的最小次数。

数据范围

1H10121 \leq H \leq 10^{12} 输入中的所有值均为整数。

输入格式

从标准输入中以以下格式给出:HH

输入格式

找出徐老师在获胜之前需要攻击的最小次数

样例输入

2  

样例输出

3  

样例说明:当徐老师攻击初始恶龙时,它消失了,然后出现了两个恶龙,每个恶龙的血量为 11。 然后,徐老师可以攻击这两个新的恶龙中的每一个一次,以总共三次攻击获胜。

样例输入

4  

样例输出

7  

样例输入

1000000000000  

样例输出

1099511627775