#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; //const ll mod = 1000000007; const ll mod = 998244353; const ld pi = 3.14159265358979; ll gcd(ll a , ll b){ if(a < b)swap(a , b); if(b == 0)return 1; if(a % b == 0)return b; else return gcd(b , a % b); } bool isPrime(ll x){ if(x == 2 || x == 3 || x == 5 || x == 7){ return true; } for(int i = 3; i * i <= x; i++){ if(x % i == 0)return false; } return true; } vector divisor(ll x){ vector ret; ll n = x; for(int i = 2; i * i <= x; i++){ while(n % i == 0){ ret.push_back(i); n /= i; } } if(n > 1)ret.push_back(n); return ret; } int main(){ cin.tie(0); ios::sync_with_stdio(false); //cout << fixed << setprecision(15); ll n; cin >> n; auto v = divisor(n); if(v.size() >= 3){ cout << "YES" << endl; }else{ cout << "NO" << endl; } return 0; }