//bestbestbestbestbest17701 #include const int best = 1e6+5; using namespace std; long long n,d=0,N; bool prime[best]; void sieve(){ for(int i = 0; i <= best;++i) { prime[i] = true; } prime[0] = false; prime[1] = false; for(int i = 2; i * i <= best; ++i) { if(prime[i] == true) { for(int j = i * i; j <= best; j += i) prime[j] = false; } } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); freopen("BEAUNUM.inp","r",stdin); freopen("BEAUNUM.out","w",stdout); cin >> n; sieve(); d = 0; N = sqrt(sqrt(n)); for(int i=2;i<=N;i++)if (prime[i]) ++d; cout << d; return 0; }