#include <iostream>
#include <cmath>
#include <algorithm>
#include <map>
#include <cstring>
#include <vector>
#define FOR(i, a, b)  for(int i=a; i<b; ++i)
#define rFOR(i, a, b) for(int i=a-1; i>=b; --i)
#define REP(i, n) for(int i=0; i<n; ++i)
#define rREP(i, n) for(int i=n-1; i>=0; --i)
#define all(a)  a.begin(), a.end()
#define MAXNUM 1000000
using namespace std;

bool num[MAXNUM];
void erast(int n){
  FOR(i, 2, floor(sqrt(n))+1){
    if(num[i]){
      FOR(j, 2, n){
        if(i*j>=MAXNUM) break;
        num[i*j] = false;
      }
    }
  }
}

int main(){
  int n;
  REP(i, MAXNUM)  num[i] = true;
  num[0]=false;
  num[1]=false;
  while(cin >> n){
    int ans=0;
    erast(n);
    REP(i, n+1){
      if(num[i]){
        ans++;
      }
    }
    cout << ans << endl;
  }
  return 0;
}

