def fn(x0: int, b: int): x = d = x0 for _ in range(b): d //= 2 x += d return x def search(b: int): lo = 0 hi = D + 1 while hi - lo > 1: mid = (lo + hi) // 2 if fn(mid, b) < D: lo = mid else: hi = mid x = lo + 1 return x if fn(x, b) == D else D+1 D = int(input()) ans = D for i in range(D.bit_length()-1): ans = min(ans, search(i+1)) print(ans)