//接收N,生成素数序列arr[2N],其中素数最大素数小于2N,
//for循环用公式计算d[2N],
//for循环判断d是否为2,并用sum统计
#include<cstdio>
int n=0;
int len=3;//arr长度
int sum=0;//素数对数目
int arr[10000]={0};
void primenum(int n,int arr[]);
int main(void)
{
scanf("%d",&n);
if(n<5) {
printf("%d",0);
return 0;
}
arr[0]=2;
arr[1]=3;
arr[2]=5;
primenum(n, arr);
// int d[len+100]={0};
for(int i=0;arr[i+1]<n+1;i++){
// d[i]=arr[i+1]-arr[i];
// if(d[i]==2) sum++;
if((arr[i+1]-arr[i])==2) sum++;
}
printf("%d", sum);
return 0;
}
void primenum(int n, int arr[]){
for(int i=6;i<2*n;i++){//从6开始生成素数
bool flag= true;
for(int j=0;j<len;j++){
if(i % arr[j] ==0){
flag=false;
break;
}
}
if(flag == true){
len++;
arr[len-1]=i;
}
}
}