#include using namespace std; // O(N) がTLEになるかチェック int main() { long long N; cin >> N; long long size_S_N = 0; for (long long x = 1; x <= N; ++x) { if ((x & N) == x) { ++size_S_N; } } long long k = 0; for (long long x = 1; x <= N; ++x) { if ((x & N) == x) { ++k; } if (k == (size_S_N + 1) / 2) { cout << x << endl; break; } } }