#include #include using namespace std; int n, dp[20009]; bool prime[20009]; int main() { cin >> n; fill(prime + 2, prime + n + 1, true); fill(dp + 1, dp + n + 1, -999999999); for (int i = 2; i <= n; i++) { if (!prime[i]) continue; for (int j = i * i; j <= n; j += i) prime[j] = false; for (int j = n; j >= i; j--) dp[j] = max(dp[j], dp[j - i] + 1); } printf("%d\n", dp[n] >= 0 ? dp[n] : -1); return 0; }