D = int(input()) INF = 10 ** 18 + 1 def f(i, x): res = 0 for _ in range(i): res += x x //= 2 return res ans = D for i in range(1, 62): l, r = 1, INF while r - l > 1: m = (r + l) // 2 if f(i, m) <= D: l = m else: r = m if f(i, l) == D: ans = min(ans, l) print(ans)