#include<bits/stdc++.h>
using namespace std;
typedef long long lld;
vector<int>prime;
lld dp[1005];
bool pri(int x)
{
if(x<=1)return false;
if(x==2 or x==3)return false;
if(x%6!=1 and x%6!=5)
return false;
for(int i=2;i*i<=x;++i)
if(x%i==0)return false;
return true;
}
int main()
{
int n;cin>>n;dp[0]=1;
for(int i=1;i<=1000;++i)
if(pri(i))prime.push_back(i);
for(int i=0;i<prime.size();++i)
for(int j=prime[i];j<=n;++j)
dp[j]+=dp[j-prime[i]];
cout<<dp[n];
}