d = int(input()) def f(x, k): res = 0 for i in range(k): res += x x //= 2 return res ans = d for k in range(1, 65): ok = 0 ng = 10**18+1 while ok+1 < ng: mid = (ok+ng)//2 if f(mid, k) <= d: ok = mid else: ng = mid if f(ok, k) == d: ans = min(ans, ok) print(ans)