#include using namespace std; #define ALL(x) x.begin(),x.end() #define rep(i,n) for(int i=0;i isPrime(maxNum,true); void sieve(ll n){ isPrime[0]=false; isPrime[1]=false; for(ll i=2;i>n; sieve(20001); vector prime_list; rep(i,20001){ if(isPrime[i]) prime_list.push_back(i); } vector dp(100000,-1); dp[0]=0; for(auto p : prime_list){ for(int i=20000;i>=0;i--){ if(dp[i]<0) continue; if(dp[i+p]