#include using namespace std; typedef long long ll; #define REP(i,n) for(ll i=0; i #define VP vector> #define VPP vector>> #define VLL vector #define VVI vector> #define VVLL vector> #define VC vector #define VS vector #define VVC vector> #define VB vector #define VVB vector> #define fore(i,a) for(auto &i:a) typedef pair P; template using min_priority_queue = priority_queue, greater>; const int INF = 1 << 29; const ll INFL = 1LL << 60; const ll mod = 1000000007; vector divisor(ll n) { vector ret; for (ll i = 1; i * i <= n; i++) { if (n % i == 0) { ret.push_back(i); if (i * i != n) ret.push_back(n / i); } } sort(begin(ret), end(ret)); return (ret); } int main() { ll n; cin >> n; VLL a = divisor(n); if (a.size() < 2) { cout << "NO" << endl; return 0; } VLL b = divisor(a[a.size() - 2]); if (b.size() < 3)cout << "NO" << endl; else cout << "YES" << endl; }