/*****include*****/
#include <iostream>
#include <fstream>

/*****デバッグ定義*****/
//#define DEBUG
/*****マクロ定義*****/

/*****名前空間*****/
using namespace std;

/*****グローバル変数置き場*****/
/*****その他関数置き場*****/

/*****main関数*****/
int main(){
	/*****ファイルオープン*****/
#ifdef DEBUG
	ofstream fout("output.txt");
	ifstream fin("input.txt");
	if(!fout || !fin){
		cout << "Can't open the file.\n";
		return;
	}
#endif
	/*****変数置き場*****/
	
	bool *prime;
	int num;
	int n;
	
	/*****処理部*****/
	while(1){
		cin >> n;
		prime = new bool [n+1];
		for(int i=0;i<n+1;i++){
			prime[i] = true;
		}
		prime[0] = prime[1] = false;
		for(int i=0;i<n+1;i++){
			if(prime[i]){
				for(int j=2*i;j<n+1;j+=i){
					prime[j] = false;
				}
			}
		}
		num = 0;
		for(int i=0;i<n+1;i++){
			if(prime[i])	num++;
		}
		cout << num << endl;
		delete prime;
	}
	/*****処理終了後*****/
#ifdef DEBUG
	fout.close();
	fin.close();
#endif
	return 0;
}