#include <stdio.h>
#include<iostream>
#include<math.h>
#include<algorithm>
#include<cstring>
using namespace std;
bool flag[10001];
int primes[10001],result[10001];
int cnt,s;
void sieve(int n)
{
cnt=0;
primes[cnt++] = 2;
for(int i=3; i<=n; i+=2)
{
if(flag[i] == 0)
{
primes[cnt++] = i;
if(i <= n/i)
{
for(int j=i*i; j<=n; j+=i*2)
flag[j] = 1;
}
}
}
return ;
}
void value() {
//cout<<"p"<<N<<endl;
for (int i = 0; i < cnt; i++) {
s = 0;
for (int j = i; j < cnt; j++) {
s += primes[j];
if (s > 10001)
cout<<"s value"<<s<<endl;
continue;
result[s]++;
}
}
}
int main() {
int n;
sieve(10001);
value();
while (cin>>n and n>0) {
cout<<result[n]<<endl;
}
return 0;
}
0 Comments