#include using namespace std; #define repd(i,a,b) for(int i=a;i>a #define cint2(a,b) int a,b;cin>>a>>b #define cint3(a,b,c) int a,b,c;cin>>a>>b>>c #define chmax(a, b) a = (((a)<(b)) ? (b) : (a)) #define chmin(a, b) a = (((a)>(b)) ? (b) : (a)) typedef long long ll; typedef pair P; const int INF=100000000; const int dx[4]={ 0, 1, 0,-1}; const int dy[4]={ 1, 0,-1, 0}; //--------------------------------------// int n; vector primes; bool isPrime[2500]; int dp[20001]; int main(){ cin>>n; memset(isPrime,1,n+1); isPrime[0]=isPrime[1]=false; repds(i,1,n){ if(isPrime[i]){ primes.pb(i); for(int j=i;j0;i--){ if(p + i <= n && dp[i] != -1){ chmax(dp[p+i], dp[i] + 1); } } //debugarr(dp,n,primes.size()); cout<