#include using namespace std; using ll=long long; pair,vector> linear_sieve(int n){ vector primes,lpf(n+1,-1); for(ll i=2;i<=n;i++){ if(lpf[i]==-1){ lpf[i]=i; primes.push_back(i); } for(ll p:primes){ if(lpf[i]n)break; lpf[p*i]=p; } } return make_pair(primes,lpf); } int main(){ int n; n=10; //cin>>n; set s; s.insert(1); auto[primes,lpf]=linear_sieve(n); vector dp(n+1); for(int i=2;i<=n;i++){ if(lpf[i]==i)dp[i]=i; if(dp[i]==0){ s.insert(i); } for(int p:primes){ if(p>=dp[i])break; if(p+i<=n)dp[i+p]=max(dp[i+p],p); } } //cout<>ttt; while(ttt--){ ll n; cin>>n; if(s.count(n))cout<<"No"<