#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>

bool isprime(int number, const std::vector<int>& primeset)
{
	for (std::vector<int>::const_iterator p = primeset.begin(); p != primeset.end(); ++p) {
		if (number % *p == 0) {
			return false;
		}
	}
	return true;
}

int resolve(int number)
{
	std::vector<int> primeset;
	for (int i = 2; i <= number; ++i) {
		if (isprime(i, primeset)) {
			primeset.push_back(i);
		}
	}
	return static_cast<int>(primeset.size());
}

int main()
{
	int input;
	while (std::cin >> input) {
		std::cout << resolve(input) << std::endl;
	}

	return 0;
}