#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int ssprime(int num){
int size=((num-2)/2)+1,i;
bool arr[size];
memset(arr,false,sizeof(size));
for(i=1;i<size;i++){
for(int j=i;(i+j+(2*i*j))<=size;j++){
arr[i+j+(2*i*j)]=true;
}
}
int sum=0;
if(num>=5){
sum=2;
for(i=1;i<size;i++){
if(arr[i]==false && sum< num){
sum+=(2*i)+1;
}
if(sum==num)
break;
}
}
else
return 0;
if (sum==num)
return 1;
return 0;
}
bool is_prime(int n)
{
int i,sq,count=0;
if(n==1)
return false;
if(n==2)
return true;
if(n%2==0)
return false;
sq=sqrt(n);
for(i=2;i<=sq;i++)
{
if(n%i==0)
return false;
}
return true;
}
int main()
{
int num,count=0;
cin>>num;
for (int i=2;i<=num;i++){
if(is_prime(i))
count+=ssprime(i);
}
cout<<count;
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBzc3ByaW1lKGludCBudW0pewogICAgaW50IHNpemU9KChudW0tMikvMikrMSxpOwogICAgYm9vbCBhcnJbc2l6ZV07CiAgICBtZW1zZXQoYXJyLGZhbHNlLHNpemVvZihzaXplKSk7CiAgICBmb3IoaT0xO2k8c2l6ZTtpKyspewogICAgICAgIGZvcihpbnQgaj1pOyhpK2orKDIqaSpqKSk8PXNpemU7aisrKXsKICAgICAgICAgICAgYXJyW2kraisoMippKmopXT10cnVlOwogICAgICAgIH0KICAgIH0KICAgIGludCBzdW09MDsKICAgIGlmKG51bT49NSl7CiAgICAgICAgc3VtPTI7CiAgICBmb3IoaT0xO2k8c2l6ZTtpKyspewogICAgICAgIGlmKGFycltpXT09ZmFsc2UgJiYgc3VtPCBudW0pewogICAgICAgICAgICBzdW0rPSgyKmkpKzE7CiAgICAgICAgfQogICAgICAgIGlmKHN1bT09bnVtKQogICAgICAgIGJyZWFrOwogICAgfQogICAgfQogICAgZWxzZQogICAgcmV0dXJuIDA7CiAgICBpZiAoc3VtPT1udW0pCiAgICByZXR1cm4gMTsKICAgIHJldHVybiAwOwp9CmJvb2wgaXNfcHJpbWUoaW50IG4pCiAgICB7CiAgICAgICAgIGludCBpLHNxLGNvdW50PTA7CiAgICAgICAgIGlmKG49PTEpCiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZihuPT0yKQogICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZihuJTI9PTApCiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzcT1zcXJ0KG4pOwogICAgICAgICBmb3IoaT0yO2k8PXNxO2krKykKICAgICAgICAgewogICAgICAgICAgICBpZihuJWk9PTApCiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgCiAgICAgICAgIH0KICAgICAgICAgIHJldHVybiB0cnVlOwp9CmludCBtYWluKCkKewogICAgaW50IG51bSxjb3VudD0wOwogICAgY2luPj5udW07CiAgICBmb3IgKGludCBpPTI7aTw9bnVtO2krKyl7CiAgICAgICAgaWYoaXNfcHJpbWUoaSkpCiAgICAgICAgY291bnQrPXNzcHJpbWUoaSk7CiAgICB9CiAgICBjb3V0PDxjb3VudDsKICAgIHJldHVybiAwOwp9