#include <map>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int f[200002];
long long inc[200002];// inc[i]=inc[1]+inc[2]+...+inc[i];
//map <unsigned long long , int> M;
bool ciur[2000001];
int main()
{
// int or[9]={2,0,3,3,1,3,3,1,3,3};
// int ve[9]={4,2,2,2,3,2,3,2,4,3};
int a,n,b,r=1,cnt=0,y,w,d,aux,j,i,k,t,m,e,u,p,s,ora,mic1,c2,c3,c4,p1,p2,p3,p4,u1,u2,u3,u4;
char c;
long long s2=0,x=0;
fin>>n;
ciur[0]=ciur[1]=1;
for(i=2;i<=n;i++)
{
if(ciur[i]==0)
{
for(j=i*2;j<=n;j+=i)
{
ciur[j]=1;
}
}
}
for(i=1;i<=n;i++)
{
if(ciur[i]==0)
{
cnt++;
}
}
fout<<cnt;
return 0;
}