#include <iostream>
#include <vector>
#include <math.h>
#include <fstream>
#include <cstdlib>
#define SIZE 1000005
using namespace std;
int arr[1000005];
int prime[1000005];
vector<int> v;
int main()
{
int n;
/*prime[2]=0;
arr[2]=0;
for(int i=3;i<SIZE;i++)
{
arr[i]=0;
if(i%2==0)
prime[i]=1;
else
prime[i]=0;
}
*/
double p=sqrt(SIZE);
for(int i=3;i<(p+5);i+=2)
{
if(prime[i]==0)
{
for(int j=i+i;j<SIZE;j+=i)
{
prime[j]=1;
}
}
}
v.push_back(2);//
for(int i=3;i<1010;i++)
{
if(prime[i]==0 && i%2!=0)
{
v.push_back(i);
}
}
//cout<<v.size();
arr[1]=0;
arr[2]=1;
for(int i=3;i<SIZE;i++)
{
if(prime[i]==0 && i%2!=0)
{
arr[i]+=(arr[i-1]+1);
continue;
}
int tmp = i;
int j=0;
while(tmp>=(v[j]*v[j]))
{
if(tmp%v[j]==0)
{
tmp/=v[j];
arr[i]++;
j=-1;
}
j++;
}
if(tmp)
arr[i]++;
arr[i]+=arr[i-1];
}
while(cin>>n)
{
int sum=0;
cout<<arr[n]<<"\n";
}
return 0;
}