#include #include #include #include #include using namespace std; int n; bool s[20005]; vectoro; int dp[20005]; int main(void){ scanf("%d",&n); for(int i=2;i*i<=n;i++){ if(s[i]==false){ for(int j=i*2;j<=n;j+=i)s[j]=true; } } for(int i=2;i<=n;i++)if(!s[i])o.push_back(i); for(int i=0;i<=n;i++)dp[i]=-1; dp[0]=0; for(int i=0;i=0;j--){ if(dp[j]>=0)dp[j+o[i]]=max(dp[j+o[i]],dp[j]+1); } } printf("%d\n",dp[n]); }