#include #include #include using namespace __gnu_pbds; using namespace std; #define f(i, s, e) for (long long i = s; i < e; i++) #define rf(i, e, s) for (long long i = e - 1; i >= s; i--) template void print_v(vector &v) { // cout << "{"; for (auto x : v) cout << x << " "; cout << "\n"; } template using ordered_set = tree, rb_tree_tag, tree_order_statistics_node_update>; #define pb push_back #define eb emplace_back #define ll long long #define pii pair #define pll pair #define mp(a, b) make_pair(a, b) #define pb push_back #define all(a) a.begin(), a.end() #define int long long #define F first #define S second #define vi vector #define vvi vector> #define vvc vector> #define mii map #define si set #define sc set #define nl cout << endl #define MOD 1000000007 #define PI 3.1415926535897932384626433832795 #define read(type) readInt() #define yesno(cond) cout << (cond ? "Yes" : "No") << endl void yes() { cout << "Yes\n"; } void no() { cout << "No\n"; } void solve() { int n; cin >> n; // prime fac of n should be 2 si st; for (int i = 2; i * i <= n; i++) { while (n % i == 0) st.insert(i), n /= i; } if (n > 1) st.insert(n); yesno(st.size() <= 2); } void testCases() { int t = 1; // cin >> t; for (int i = 0; i < t; i++) { // cout << "Case " << i + 1 << ": "; solve(); } } signed main(signed argc, char const *argv[]) { ios_base::sync_with_stdio(0); // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); cin.tie(0); cout.tie(0); testCases(); return 0; }