#include<iostream>
#define MAX 5100
using namespace std;
int main()
{
char num[MAX];
memset(num,1,MAX);
num[0]=0;
num[1]=0;
num[2]=1;
int i,j;
for(i=2;i<=MAX/2;i++)
{
for(j=2;j<=MAX/i;j++)
{
num[i*j]=0;
}
}
int prim[1300],length=0;
for(j=2;j<MAX;j++)
{
if(num[j]==1)
{
prim[length]=j;
length++;
}
}
int n,sum,res;
while(cin>>n&&n!=0)
{
res=0;
for(i=0;prim[i]<=n/2;i++)
{
sum=0,j=0;
while(sum<n)
{
sum+=prim[i+j];
j++;
}
if(sum==n)
{
res++;
}
}
i=0;
j=0;
while(n/2>prim[i])
{
if(n%prim[i]==0)
{
j++;
break;
}
i++;
}
if(j==0)
res++;
cout<<res<<endl;
}
return 0;
}