d=int(input()) """ 最後の飛距離は1 最後から2回目は2,3 最後から3回目は4,5,6,7 最後から4回目は8~15 最後からi回目は[2**(i-1),2**2) 答えはd/2以上d以下 跳ねる回数で場合分け 跳ねる回数最大60回ぐらい """ ans=d for i in range(1,64): def func(x): # x始まりでi回跳ねる場合の飛距離 tmp=0 for _ in range(i): tmp+=x x//=2 return tmp l,r=0,d while r-l>1: x=(l+r)//2 if d