#include using namespace std; int main() { int n; cin >> n; vectorall(n+1,true); all[0]=all[1]=false; for(int i = 2; i <= sqrt(n); i++){ if(all[i]){ for(int j = 0; i * (j + 2) <= n; j++)all[i *(j + 2)] = false; } } vectorprime{0}; for(int i = 0; i <= n; i++){ if(all[i])prime.push_back(i); } int prime_size=(int)prime.size(); vector>dp(prime_size+1, vector(n+1, -1)); // for(int i=1;i