#include using namespace std; #define MAX 10000010 bool prime[MAX]; typedef unsigned long long ull; void sieve() { fill(prime, prime+MAX, true); prime[0] = prime[1] = false; for(ull i = 2 ; i*i < MAX ; i++){ if(prime[i]){ for(ull j = i*i ; j < MAX ; j+=i){ prime[j] = false; } } } } int main() { sieve(); ull N; cin >> N; if(N == 1) { cout << "NO\n"; return 0; } bool ok = 1; for(ull i=2; i*i<=N; i++) { if(prime[i] && !(N%i)) { ok = 0; break; } } if(!ok) cout << "YES\n"; else cout << "NO\n"; return 0; }