//Author- Simanta Deb Turja
//Team- AUST_HoyeJabe

#include<bits/stdc++.h>
#define pi acos(-1)

typedef unsigned long long ull;
typedef unsigned long ul;
typedef long long ll;
//typedef push_back pb;


using namespace std;

int SieveOfEratosthenes(int n)
{

    bool prime[n+1];
    ull count = 0;
    memset(prime, true, sizeof(prime));

    for (int p=2; p*p<=n; p++)
    {

        if (prime[p] == true)
        {

            for (int i=p*2; i<=n; i += p)
                prime[i] = false;
        }
    }


    for (int p=2; p<=n; p++)
       if (prime[p])
          count++;
 return count;
}

int main()
{
    int n;
    while(cin>>n){
        cout<<SieveOfEratosthenes(n)<<endl;
    }


    return 0;
}