D=int(input()) N=D.bit_length() T=[pow(2,i) for i in range(N-1,-1,-1)] M=D for k in range(1,N+1): E=[sum(T[i:i+k]) for i in range(N)] S=0 X=D for i in range(N): if E[i]<=X: X-=E[i] S+=pow(2,N-1-i) if X==0: M=min(M,S) print(M)