import sys input = lambda : sys.stdin.readline().rstrip() sys.setrecursionlimit(max(1000, 10**9)) write = lambda x: sys.stdout.write(x+"\n") d = int(input()) ans = d def sub(x, k): v = 0 i = 0 for i in range(k): v += x x //= 2 return v>=d def val(x, k): v = 0 i = 0 for i in range(k): v += x x //= 2 return v def proc(k): l = 0 r = d while l<r-1: m = (l+r)//2 if sub(m,k): r = m else: l = m if val(r,k)==d: return r else: return None for v in range(1,100): tmp = proc(v) # print(tmp) if tmp is not None: ans = min(ans, tmp) print(ans)