#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned int ui; const ll mod = (ll)(1e+9) + 7; const ll INF = (ll)1000000007 * 1000000007; typedef pair P; #define stop char nyaa;cin>>nyaa; #define rep(i,n) for(int i=0;i=0;i--) #define Rep(i,sta,n) for(int i=sta;i=1;i--) #define Rep1(i,sta,n) for(int i=sta;i<=n;i++) typedef long double ld; typedef complex Point; const ld eps = 1e-8; const ld pi = acos(-1.0); typedef pair LP; typedef pair LDP; const int key = 10000001; bool isp[key]; vector v; void init() { fill(isp + 2, isp + key, true); Rep(i, 2, key) { if (!isp[i])continue; v.push_back(i); for (int j = 2*i; j < key; j += i) { isp[j] = false; } } } int main() { init(); ll n; cin >> n; int len = v.size(); int c = 0; rep(j, len) { while (n%v[j] == 0) { c++; n /= v[j]; } } if (n > 1)c++; if (c > 2)cout << "YES" << endl; else cout << "NO" << endl; return 0; }