#include <stdio.h>

const int MAX_V = 1000000;
int prime[MAX_V+1];
int sum[MAX_V+2];
void init(){
    int i, k, v;
    for(i=2; i<=MAX_V; i++){
        prime[i] = 1;
    }
    for(i=2; i*i<=MAX_V; i++){
        if(prime[i]){
            for(k=2*i; k<=MAX_V; k+=i){
                prime[k]=0;
            }
        }
    }   
}

void accumulate(){
   for(int i=1; i<MAX_V+2; i++){
        if(i==1){
            sum[i]=0;
        }else{
            sum[i]=sum[i-1]+prime[i];
        }
    }
}


int main(){
    init();
    accumulate();
    int num;
    while(scanf("%d", &num) != EOF){
        printf("%d\n", sum[num]);
    }
    return 0;
}