#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e6 + 10;
typedef long long LL;

int p[maxn];
bool l[maxn];

int prime() {
    int cnt = 0;
    for(int i = 2; i < maxn; ++i) {
        if(!l[i]) {
            p[cnt++] = i;
            LL con = i;
            LL j;
            while((j = i * (con++)) < maxn) {
                l[j] = true;
            }
        }
    }
    return cnt;
}

int main() {
    int cnt = prime();
    int n;
    while(scanf("%d", &n) != EOF) {
        int ans = upper_bound(p, p + cnt, n) - p;
        printf("%d\n", ans);
    }
    return 0;
}