#include <bits/stdc++.h>
using namespace std;
int n;
bool jack[10000005];
void jackfather(int n)
{
memset(jack,true,sizeof(jack));
jack[0]=jack[1]=false;
int cnt=(int )sqrt(n+0.5)+1;
for(int i=2;i<cnt+1;i++)
{
if(!jack[i])
{
continue;
}
for(int j=i+i;j<n+1;j+=i)
{
jack[j]=false;
}
}
return;
}
int main()
{
int jac[10000005];
cin>>n;
int s=0;
for(int i=1;i<=n;i++)
{
jac[i]=i;
}
jackfather(n);
for(int i=1;i<=n;i++)
{
if(jack[i]==1) s++;
//cout<<jac[i]<<" ";
}
cout<<s;
return 0;
}
but why!