import sys readline = sys.stdin.readline N = int(readline()) fact = [True] * (N + 1) fact[0] = fact[1] = False F = [] for i in range(2, len(fact)): if fact[i]: F.append(i) for j in range(i * 2, len(fact), i): fact[j] = False # 重さがそれぞれの数で、価値が1のナップサックを解く dp = [-1] * (N + 1) dp[0] = 0 for i in range(len(F)): for j in range(len(dp) - 1, -1, -1): if dp[j] == -1: continue if j + F[i] <= N: dp[j + F[i]] = max(dp[j + F[i]], dp[j] + 1) print(dp[N])