#include <stdio.h>
#include <stdlib.h>
void do_nothing(int null)
{}
int main()
{
int N;
FILE *read=fopen("ciur.in","r");
FILE *write=fopen("ciur.out","w");
int null;
null=fscanf(read,"%d",&N);
do_nothing(null);
int *marked=(int*)calloc(2000005,sizeof(int));
int number_of_primes=0;
if(N==1)
fprintf(write,"%d\n",0);
else
for(int i=2;i<=N;i++)
if(marked[i]==0)
{
number_of_primes++;
for(int j=i+i;j<=N;j+=i)
marked[j]=1;
}
fprintf(write,"%d\n",number_of_primes);
free(marked);
fclose(read);
fclose(write);
return 0;
}