#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

int main(){
	int i=0,k=2,source[30];
	while(cin >> source[i]) i++;
	int m = max(source[0],source[i]);
	bool hurui[1000000];
	memset(hurui+2,1,sizeof(hurui));
	for (int j=2;j<=m;j++,k=2)
	{
		if (!hurui[j]) continue;
		while(j*k < m)hurui[j*k]=false,k++;
	}
	for (int j=0;j<i;j++){
		int count=0;
		for (k=2;k<=source[j];k++) count += !!hurui[k];
		cout << count << endl;
	}
}