D=int(input()) def distance(t,x): ANS=0 for i in range(x): ANS+=t t//=2 return ANS ALIST=[] for x in range(1,101): OK=D NG=0 while OK-NG>1: mid=(OK+NG)//2 if distance(mid,x)>=D: OK=mid else: NG=mid if distance(OK,x)==D: ALIST.append(OK) print(min(ALIST))