#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;
#define MAX_N 999999
int n;//n以下の素数がいくつあるか出力する
int ans;//素数の数
int prime[MAX_N];//prime[i]が1ならば素数i+1は素数
int main(){
  while(scanf("%d",&n) != EOF){
    ans = 0;
    for(int i= 0;i < n;i++){
      prime[i]= 1;
    }
    prime[0] = 0;//1は素数でないので
    for(int i = 1;i <sqrt(n);i++){
      if(prime[i] == 1)
	for(int j =(i+1);(i+1)*j <=n;j++){
	  prime[(i+1)*j-1] = 0;
	}
  }
    for(int i = 0;i < n;i++){
      if(prime[i] == 1)
	ans++;
    }
      printf("%d\n",ans);
  }
  return 0;
}