#include<iostream>
#include<string.h>
using namespace std;
const int N=1000000;
bool isprime[N];
int prime[N];
int k=0;
void init()
{
    isprime[0]=isprime[1]=false;
    for(int i=2;i<N;i++)
    {
        if(isprime[i]) prime[k++]=i;
        for(int j=0;j<k;j++)
        {
            int d=i*prime[j];
            if(d>=N) break;
            isprime[d]=false;
            if(i%prime[j]==0) break;
        }
    }
}
int main()
{
    int n;
    memset(isprime,true,sizeof(isprime));
    init();
    while(cin>>n)
    {
        int i;
        for(i=0;i<k;i++)
            if(n<prime[i])
                break;
        cout<<i<<endl;
    }
    return 0;
}