/*
I n
求1~n中质数个数
O 质数个数
I
8
O
4
*/
#include <iostream>
#include <algorithm>
using namespace std;
const int N= 1000010;
int primes[N], cnt;
bool is_p[N];
void get_primes(int n)
{
for (int i = 2; i <= n; i ++ )
{
// 按序cnt存储质数i
if (! is_p[i]) primes[cnt ++ ] = i;
// lgn:筛选删除序列后面的倍数
for (int j = i + i; j <= n; j += i)
is_p[j] = true;
}
}
int main()
{
int n;
cin >> n;
get_primes(n);
cout << cnt << endl;
return 0;
}