output_description: Find the minimum number of attacks Caracal needs to make before winning.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      H
attempt: # -*- coding: utf-8 -*-
  
  import sys
  
  
  def input():
      return sys.stdin.readline().strip()
  
  
  def list2d(a, b, c):
      return [[c] * b for i in range(a)]
  
  
  def list3d(a, b, c, d):
      return [[[d] * c for j in range(b)] for i in range(a)]
  
  
  def list4d(a, b, c, d, e):
      return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]
  
  
  def ceil(x, y=1):
      return int(-(-x // y))
  
  
  def INT():
      return int(input())
  
  
  def MAP():
      return map(int, input().split())
  
  
  def LIST(N=None):
      return list(MAP()) if N is None else [INT() for i in range(N)]
  
  
  def Yes():
      print("Yes")
  
  
  def No():
      print("No")
  
  
  def YES():
      print("YES")
  
  
  def NO():
      print("NO")
  
  
  sys.setrecursionlimit(10**9)
  INF = 10**18
  MOD = 10**9 + 7
  
  H = INT()
  
  k = cnt = 0
  while H > 0:
      H //= 2
      cnt += 2**k
      k += 1
  print(cnt)
  
problem_description: Statement
  
  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.
samples: [{"input": "2", "output": "3\n    \n\nWhen Caracal attacks the initial monster, it disappears, and two monsters\nappear, each with the health of 1.\n\nThen, Caracal can attack each of these new monsters once and win with a total\nof three attacks.\n\n* * *"}, {"input": "4", "output": "7\n    \n\n* * *"}, {"input": "1000000000000", "output": "1099511627775"}]