include [HTML_REMOVED]
const int N = 1e6+10;
bool st[N];
int prime[N],idx;
//埃氏筛数法
// int count(int n){
// int re = 0;
// for(int i=2;i<=n;i){
// if(!st[i]){
// re;
// for(int j = i+i ; j<=n;j+=i) st[j] = true;
// }
// }
// return re;
// }
//线性晒数法
int count(int n){
int re=0;
for(int i=2;i<=n;i){
if(!st[i]) prime[idx] = i,re;
for(int j=0;prime[j] <= n / i ;j){
st[prime[j] * i ] = true;
if(i % prime[j] == 0 ) break;
}
}
return re;
}
int main(){
int n;
scanf(“%d”,&n);
int res = count(n);
printf("%d\n",res);
return 0;
}