#include<iostream>
#include<cmath>
#include<map>
using namespace std;

map<int,bool>memo;

bool isprime(int q){
	map<int,bool>::iterator it;
	it=memo.find(q);
	if(it!=memo.end())return (*it).second;
	bool ret=true;
	if(q==2){
	}else if(q%2==0){
		ret=false;
	}else{
		int max=sqrt(q);
		for(int i=3;i<q;i=i+2){
			if(q%i==0)ret=false;
			break;
		}
	}
	memo.insert(pair<int,bool>(q,ret));
	return ret;
}

int main(){
	int n;
	while(cin>>n){
		int sum=0;
		for(int i=2;i<=n;i++){
			if(isprime(i))sum++;
		}
		cout<<sum<<endl;
	}
	return 0;
}