#define _USE_MATH_DEFINES #define _CRT_SECURE_NO_WARNINGS #include #include #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; const ll inf = 1ll << 60; const ll mod = (ll)1e9 + 7; #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(), v.rend() #define print(s) cout << s; #define println(s) cout << s << endl; #define printd(s, f) cout << fixed << setprecision(f) << s << endl; // 素数かどうかの判定 template bool is_prime(T n) { if (n == 2) { return true; } else if ((n == 1) || (n % 2 == 0)) { return false; } for (T i = 3; i * i <= n; i += 2) { if (n % i == 0) { return false; } } return true; } int main() { ll n; cin >> n; bool b = false; ll cnt = 0; for (ll i = n; i > 1; i /= 2) { if (i % 2 == 1) { if (!is_prime(i)) { b = true; } break; } else { cnt++; if (cnt >= 2) { b = true; break; } } } println((b ? "YES" : "NO")); }