import sys input=lambda: sys.stdin.readline().rstrip() n=int(input()) def primes(n): is_prime=[True]*(n+1) is_prime[0]=False is_prime[1]=False for i in range(2,int(n**0.5)+1): if not is_prime[i]: continue for j in range(i*2,n+1,i): is_prime[j]=False return [i for i in range(n+1) if is_prime[i]] P=primes(n) m=len(P) DP=[0]*(n+1) DP[0]=1 for p in P: for i in range(n+1)[::-1]: if i>=p and DP[i-p]>0: DP[i]=max(DP[i],DP[i-p]+1) print(DP[n]-1)