#include <iostream>

#define MAX_SIZE 1000000

using namespace std;

void sieve(bool *a) {
    a[0] = a[1] = true;
    
    for(int i = 2;i < MAX_SIZE;i++) {
        if(!a[i]) {
            for(int j = 2;(i * j) < MAX_SIZE;j++) {
                a[i * j] = true;
            }
        }
    }
}

int main() {
    bool not_prime[MAX_SIZE] = { false };
    
    sieve(not_prime);
    
    int n, cnt;
    
    while(cin >> n) {
        cnt = 0;
        
        for(int i = 0;i <= n;i++) {
            if(!not_prime[i]) {
                cnt++;
            }
        }
        
        cout << cnt << endl;
    }
    
    return 0;
}
