#include #define FOR(x,a,b) for (int x=a;x<=b;x++) #define FOD(x,a,b) for (int x=a;x>=b;x--) #define pub push_back #define pob pop_back #define ii pair #define pll pair #define F first #define S second #define fast {ios_base::sync_with_stdio(false);cin.tie(NULL);} typedef unsigned long long int ull; typedef long long ll; const long N=1e6 + 5; const int mod = 1e9 +7; using namespace std; ll n,res=0; bool kt[N+1]; void them(){ FOR(i,0,N) { kt[i] = true; } kt[0] = false; kt[1] = false; for(int i = 2; i * i <= N; ++i) { if(kt[i] == true) { for(int j = i * i; j <= N; j += i) kt[j] = false; } } } void solve(){ them(); cin >> n; n=sqrt(sqrt(n)); for(int i=1;i<=n;i++) { if (kt[i]) res++; } cout << res; } int main(){ fast; freopen("beaunum.inp","r",stdin); freopen("beaunum.out","w",stdout); solve(); return 0; }