#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2") #include #define INF 1000000001LL #define LNF 1000000000000000001LL #define MOD 1000000007LL #define MAX 502 #define long long long #define all(x) x.begin(),x.end() using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); long x; cin >> x; long y = x/2; for(long i = max(0LL,y-100000); i < y+100000; i++) { long res = i; long p = i; while(p) { if(res == x) { cout << i << endl; return 0; } p/=2; res+=p; } } assert(false); return 0; }