#include using namespace std; using i64 = long long; inline i64 lb(i64 x) {return x & (-x);} int main() { ios::sync_with_stdio(false); cin.tie(0); i64 n, g[61], minx; for(int i = 0; i < 61; i ++) g[i] = 1ll << i; cin >> n; minx = n; for(int i = 1; i <= 61; i ++) { i64 d = 0, ans = 0; for(int j = 60; j >= 0; j --) { if(d + g[j] <= n) { d += g[j]; ans += (1ll << j); } g[j] += lb(g[j]) >> 1; } if(d == n) minx = min(ans, minx); } cout << minx; }