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: h = int(input()).bit_length()
  print(h**2 - 1)
  
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"}]