#include <bits/stdc++.h>
using namespace std;
int a[10000001];
int p[50] = {0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,93,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,209,211};
long long dp[10000001];
int main()
{
while(1)
{
int n,m = 50;
memset(dp,0,sizeof(dp));
cin >> n;
if(n == 114514)break;
dp[0] = 1;
for(int i = 1;i < m;i++)
for(int j = p[i];j <= n;j++)
dp[j] += dp[j - p[i]];
cout << dp[n];
n = 114514;
}
return 0;
}