#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
const int SIZE = 1000000;
bool mark[SIZE];
long long int num[SIZE];
void findp(){
    memset(mark, true, sizeof(mark));
    for(int i = 2; i <= sqrt(SIZE); i ++){
        if(mark[i]){
            for(int j = i + i; j < SIZE; j += i){
                mark[j] = false;
            }
        }
    }
    num[1] = 0;
    for(int i = 2; i < SIZE; i ++){
        num[i] = num[i-1];
        if(mark[i]){
            num[i] += 1;
        }
    }
}
int main(){
    int n;
    findp();
    while(cin>>n){
        printf("%ld\n", num[n]);
    }
    return 0;
}
