#include #include using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000005 long long get(long long a,long long b){ long long ret = a; rep(i,b){ ret += a>>(i+1); } return ret; } int main(){ long long D; cin>>D; long long ans = D; //cout<1){ long long mid = (ok+ng)/2; if(get(mid,i)>=D)ok = mid; else ng = mid; } if(get(ok,i)==D)ans = min(ans,ok); } cout<