#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;

int setPrimeNumberCount(int n) {
    int count = 0;
    vector<int> primeList;
    bool findList[n+1];
    
    if(n >= 2) {
        primeList.push_back(2);
        count++;
        
        for(int i = 2; i <= n; i++){
            findList[i] = false;
        }
        for(int i = 2; i <= sqrt(n); i++){
            if(findList[i]) {
                continue;
            }
            for(int j = i * 2; j <= n; j += i) {
                if(!findList[j]) {
                    findList[j] = true;
                }
            }
        }
    }
    for(int i = 3; i <= n; i += 2){
        if(!findList[i]) {
            primeList.push_back(i);
            count++;
        }
    }
    return count;
}

int main(void) {
    int n;
    int count = 0;
    
    while(cin >> n) {
        count = setPrimeNumberCount(n);
        cout << count << endl;
        count = 0;
    }
    return 0;
}