def check(m, k): now = m x = 0 for _ in range(k): x += now now //= 2 return x D = int(input()) inf = 10 ** 18 ans = inf for k in range(1, 66): yes = inf no = 0 while yes - no != 1: mid = (yes + no)//2 if check(mid, k) >= D: yes = mid else: no = mid if check(yes, k) == D: ans = min(ans, yes) print(ans)