#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using ull = unsigned long long; constexpr int TEN(int n) {return (n==0)?1:10*TEN(n-1);} int main() { ll n; cin >> n; vector v; while (n) { v.push_back(n); n /= 2; } reverse(v.begin(), v.end()); ll ans = 0; ll sm = 0; for (ll d: v) { // cout << d << endl; ans = max(ans, d-sm); sm += d; } cout << ans << endl; return 0; }