#include using namespace std; int main(){ int n;cin >> n; vector p(n+1,true); p[0]=false; p[1]=false; for(int i=2;i*i<=n;i++){ if(p[i]){ for(int j=2;j*i<=n;j++){ p[i*j]=false; } } } vector v; for(int i=2;i<=n;i++){ if(p[i]){ v.push_back(i); } } int k=v.size(); int dp[k+1][n+1]; memset(dp,-1,sizeof(dp)); dp[0][0]=0; for(int i=0;i