#include using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i> N; map prime_fact; for(ll i = 2; i*i <= N; ++i){ if(N % i != 0LL) continue; ll ex = 0LL; while(N % i == 0){ N /= i; ex++; } prime_fact[i] = ex; } if(N != 1LL) prime_fact[N] = 1LL; // for(auto &p : prime_fact) cout << p.first << ' ' << p.second << endl; if(prime_fact.size() > 2){ cout << "YES" << endl; return 0; }else if(prime_fact.size() == 2){ for(auto &p : prime_fact){ if(p.second > 1LL){ cout << "YES" << endl; return 0; } } cout << "NO" << endl; return 0; }else{ for(auto &p : prime_fact){ if(p.second > 2LL){ cout << "YES" << endl; return 0; } } cout << "NO" << endl; return 0; } }