N = 20000 + 1 furui = [1 for i in range(N)] furui[0] = furui[1] = 0 for i in range(2, int(N ** 0.5) + 1): if furui[i]: for j in range(i * i, N, i): furui[j] = 0 primes = [i for i, x in enumerate(furui) if x == 1] dp = [[-1 for i in range(N)] for j in primes] for i, p in enumerate(primes): dp[i][p] = 1 for i, p in enumerate(primes): if i == 0: continue for m in range(N): if m - p <= 0 or dp[i - 1][m - p] == -1: dp[i][m] = max(dp[i - 1][m], dp[i][m]) else: dp[i][m] = max(dp[i - 1][m], dp[i - 1][m - p] + 1, dp[i][m] ) n = int(input()) print(dp[-1][n])