import std.conv;
import std.math;
import std.stdio;


void main(){
    foreach(string line; lines(stdin)){
        int cnt;
        foreach(i; 2..line.parse!int + 1)
            cnt += isPrime(i);
        writeln(cnt);
    }
}

pure bool isPrime(T)(T src)if(__traits(isIntegral,T)){
	if(src <= 1)return false;
	else if(src < 4)return true;
	else if(!(src&1))return false;
	else if(((src+1)%6) && ((src-1)%6))return false;
	
	T root = cast(T)sqrt(cast(float)src) + 1;
	
	for(T i=5;i<root;i+=6)
		if(!((src%i) && ((src)%(i+2))))
			return false;

	return true;
}