#include<cstdio>
#include<string.h>
using namespace std;
int pNum;
bool IsPrime[1000010];
int Prime[1000010];
void GetPrime(){
    memset(IsPrime,true,sizeof(IsPrime));
    IsPrime[0]=IsPrime[1]=false;
    pNum=0;
    for(int i=2;i<1000010;i++){
        if(IsPrime[i])Prime[++pNum]=i;
        for(int j=1;j<=pNum&&Prime[j]*i<1000010;j++){
            IsPrime[Prime[j]*i]=false;
            if(i%Prime[j]==0)break;
        }
    }
}
int main(){
    GetPrime();
    int n;
    while(scanf("%d",&n)){
        int i,ans;
        for(i=1;i<=pNum;i++){
            if(Prime[i]==n){
                ans=i;
                break;
            }
            if(Prime[i]>n){
                ans=i-1;
                break;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}