题目描述
Caracal is fighting with a monster.
The health of the monster is H.
Caracal can attack by choosing one monster. When a monster is attacked, depending on that monster's health, the following happens:
- If the monster's health is 1, it drops to 0.
- If the monster's health, X, is greater than 1, that monster disappears. Then, two new monsters appear, each with the health of $\lfloor X/2 \rfloor$.
$(\lfloor r \rfloor$ denotes the greatest integer not exceeding r.)
Caracal wins when the healths of all existing monsters become 0 or below.
Find the minimum number of attacks Caracal needs to make before winning.
Constraints
- $1 \leq H \leq 10^{12}$
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
H
Output
Find the minimum number of attacks Caracal needs to make before winning.
Examples
Input
2
Output
3
Input
4
Output
7
Input
1000000000000
Output
1099511627775
输入格式
见题面
输出格式
见题面
样例输入
4
样例输出
7