#include #include #include #define go(); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define debug(x) cout<<#x<<" "< using ordered_set=tree ,rb_tree_tag,tree_order_statistics_node_update>; typedef long long ll; typedef long double ld; const ll mod=1e9+7; const ll mxn=2e5+3; const ll inf=1e18; vectorp,c(2000000+10,0); void seive() { for(ll i=2;i<=2000000;i++) { if(c[i]) continue; p.push_back(i); for(ll j=i*i;j<=200000;j+=i) { c[j]=1; } } } void solve() { ll n; cin>>n; ll c=0; if(n==1) { cout<<"Yes\n"; return; } seive(); for(int i=0;i1) c++; if(c==2||c==1) { cout<<"Yes\n"; } else cout<<"No\n"; } int main() { go(); ll t=1; // cin>>t; while(t--) { solve(); } return 0; }