#include #include #include #include #include #include using namespace std; typedef long long ll; const int maxn = 1e5 + 10; const ll INF = 1e16; int main() { ll N; cin >> N; ll element = 1; ll step = 1; ll remaining = N; bool mile = true; while(remaining > 1) { if(mile) { remaining = (remaining + 1) / 2; } else { if(remaining % 2 == 0) { element += step; remaining /= 2; } else { remaining = (remaining + 1) / 2; } } step *= 2; mile = !mile; } cout << element << endl; return 0; }