#include <algorithm> #include <bitset> #include <complex> #include <cassert> #include <deque> #include <exception> #include <fstream> #include <functional> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> #include <istream> #include <iterator> #include <limits> #include <list> #include <locale> #include <map> #include <memory> #include <math.h> #include <new> #include <numeric> #include <ostream> #include <queue> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <streambuf> #include <string> #include <typeinfo> #include <utility> #include <valarray> #include <vector> #include<regex> using namespace std; using ll = long long; using Graph = vector<vector<int>>; #define rep(i,x) for(ll i=0;i<(ll)(x);i++) #define rrep(i,x) for(ll i=1;i<=(ll)(x);i++) #define all(v) v.begin(),v.end() typedef pair<int, int> pii; ll mod998 = 998244353; ll mod109 = 1e9 + 7; //vector<vector<int>> a(n,vector<int>(n)); int main(){ ll n; cin >> n; int cnt = 0; ll k = n; for (ll i = 2; i * i <= k; i++) { if (n % i == 0) { cnt++; while (n % i == 0) { n /= i; } } } if (n > 1)cnt++; if (cnt <= 2)cout << "Yes" << endl; else cout << "No" << endl; }