#include #include using namespace std; bool isPrime(int x){ if(x==0 ||x==1)return 0; if(x==2)return 1; if(x%2==0)return 0; for(int i=3;i*i<=x;i++)if(x%i==0)return 0; return 1; } void makePrime(vector& v ,int n){ for(int i=0;i<=n;i++){ if(isPrime(i))v.push_back(i); } } int main (){ int n; cin>>n; vector isPrime; makePrime(isPrime,n); //dp[i]:=iを作れる最大の和の回数 vector dp(20001,-1); dp[0]=0; // for(int i=2;i<=20000;i++){ // for(int j=0;j=0;j--){ //if(dp[j]<100)cout<