#include <iostream>
#include <cmath>

int nearestPowerOfTwo(int n) {
    int lowerPower = 1;
    while (lowerPower * 2 <= n) {
        lowerPower *= 2;
    }
    int upperPower = lowerPower * 2;
    int lowerDistance = std::abs(n - lowerPower);
    int upperDistance = std::abs(upperPower - n);
    if (lowerDistance <= upperDistance) {
        return lowerPower;
    }
    return upperPower;
}

int main() {
    int n;
    std::cin >> n;

    int result = nearestPowerOfTwo(n);
    std::cout << result << std::endl;

    return 0;
}    
/**************************************************************
	Problem: 1075
	User: zhouhongyi
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:2072 kb
****************************************************************/