//Bismillah #include using namespace std; #define int long long int #define forn(i, a, n) for (int i = a; i < n; i++) #define fornr(i, a, n) for (int i = n - 1; i >= a; i--) #define print(a) cout << a << "\n"; #define printarr(a) forn(i, 0, a.size()) cout << a[i] << " "; cout << endl; #define file_read(filepath) freopen(filepath, "r", stdin); #define file_write(filepath) freopen(filepath, "w", stdout); #define f first #define s second #define pb push_back #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define sorted(a) is_sorted(all(a)) #define vi vector #define vvi vector> #define vc vector #define vs vector #define pii pair #define pis pair #define psi pair #define vpii vector> #define MOD1 1000000007 #define mii map #define sz(a) a.size() int maxn = 1e6; vector is_prime(maxn, true); vector primes; void compute() { is_prime[0] = is_prime[1] = false; for (int i = 2; i <= maxn; i++) { if (is_prime[i] && (long long)i * i <= maxn) { for (int j = i * i; j < maxn; j += i) is_prime[j] = false; } } for(int i = 2; i <= maxn; i++){ if(is_prime[i]) primes.pb(i); } } void solve(){ int n; cin >> n; set pos; for(auto i : primes){ bool div = false; while(n % i == 0){ div = true; n = n / i; } if(div) pos.insert(i); } if(sz(pos) <= 2){ print("Yes") } else { print("No") } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t = 1; //cin >> t; compute(); while(t--){ solve(); } return 0; }