#include<stdio.h>
#include<iostream>
#include<vector>
#include<string.h>
using namespace std;
const long long int N=1000000;
vector<int> prime;
bool arr[N];
void init(){
memset(arr,true,sizeof(arr));
arr[0]=arr[1]=false;
for(int i=2;i<N;++i){
    if(arr[i])
        prime.push_back(i);
    for(int j=0;j<prime.size()&&i*prime[j]<N;j++)
    {
        arr[i*prime[j]]=false;
        if(i%prime[j]==0)
            break;
    }
}
}
int main(){
int n;
init();
while(scanf("%d",&n)!=EOF){
    int j=0;
    for(;prime[j]<=n;j++);
    printf("%d\n",j);
}
}