#include bool check(int seed) { int minS = 1; int minT = 1; int maxS = 1; int maxT = 1; while (minS < seed) { minT = 2 * minT; minS = minS + minT; maxT = 2 * maxT+1; maxS = maxS + maxT; if (minS <= seed and seed <= maxS) { return true; } } return false; } int main(void) { int seed; std::cin >> seed; bool result = check(seed); std::string ans = (result == true ? "YES" : "NO"); std::cout << ans.c_str() << std::endl; return 0; }