#include<bits/stdc++.h>
#define IOS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
bool vis[10000005];//vis = 1是合数的标记,所有质数的i倍的数字全标记为1
int pri[10000005],cnt = 0;
int n;
void init(int x)
{ for(int i = 2;i<=x;i++)
{
if(vis[i]==0) pri[++cnt] = i;
for(int j =1;j<=cnt;j++)
{
if(pri[j]*i>x) break;
vis[i*pri[j]] = 1;
if(i%pri[j] == 0) break;//if(i%pri[j] == 0)为 i已经
//含有质因子pri[j],所以退出
}
}
}
int main()
{
IOS;
cin>>n;
init(n);
cout<<cnt;
return 0;
}
vis = 1是合数的标记,所有质数的i倍的数字全标记为1
if(i%pri【j】 == 0)为 i已经含有质因子pri【j】,所以退出