#include<stdio.h>
int nrprime,v[78499];
bool ciur[1000000];
void euclid(int a,int b,int &x,int &y , int &d)
{
if(b==0)
{
x=1;
y=0;
d=a;
return;
}
int x1 , y1 , q=a/b;
euclid(b,a%b,x1,y1,d);
x=y1;
y=x1-q*y1;
}
void ciurca()
{
int i,j;
for(i=2;i<=1000000;i++)
{
if(ciur[i]==false)
{
v[++nrprime]=i;
j=i+i;
while(j<=1000000)
{
ciur[j]=true;
j+=i;
}
}
}
}
int main()
{
int n , i , a , b , c , x , y , d , p;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d%d",&n);
ciurca();
printf("%d",nrprime);
/*
euclid(a,b,x,y,d);
if(x<0)
{
printf("%d\n",b+x%b);
return 0;
}
else
printf("%d\n",x%b);
*/
}