import std.stdio;
import std.algorithm;
import std.range;
import std.math;
import std.container;
import std.string;
import std.conv;

void main()
{
    foreach(line; stdin.byLine)
        iota(line.chomp.to!int + 1).filter!isPrime.array.length.writeln;
}

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;
}