#include using namespace std; int main() { int N; cin >> N; vector Is(N + 1, true); Is[0] = Is[1] = false; for (int i = 2; i * i <= N; i++) { if (Is[i]) { for (int j = i * 2; j <= N; j += i) { Is[j] = false; } } } vector dp(N + 1); dp[N] = 1; for (int i = 2; i <= N; i++) { if (Is[i]) { for (int j = i; j <= N; j++) { if (dp[j]) { dp[j - i] = max(dp[j - i], dp[j] + 1); } } } } cout << dp[0] - 1 << endl; return 0; }