#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; const int MAX=20001; const int INF=1e9; vector prime; bool isprime[MAX]; void sieve(){ for(int i=3; i>n; sieve(); int dp[20001]; fill(dp, dp+n+1, -INF); dp[0]=0; for(auto x:prime){ for(int i=n; i>=x; i--){ dp[i]=max(dp[i-x]+1, dp[i]); } } if(dp[n]>=0) cout<