#include<stdio.h>
#include<string.h>
int a[1000000];
int prim(int n)
{
int i,j;
for (i=2; i<=n; i++)
{
if (!a[i])
{
for (j=i+i; j<=n; j+=i )//精华
a[j]=1;
}
}
int ans=1;
for (i=3; i<=n; i++)
if (a[i]==0) ans++;
return ans;
}
int main()
{
int n,m;
int i,j;
while (~scanf ("%d",&n))
{
memset(a,0,sizeof(a));
m=prim(n);
printf("%d\n",m);
}
return 0;
}
#include<string.h>
int a[1000000];
int prim(int n)
{
int i,j;
for (i=2; i<=n; i++)
{
if (!a[i])
{
for (j=i+i; j<=n; j+=i )//精华
a[j]=1;
}
}
int ans=1;
for (i=3; i<=n; i++)
if (a[i]==0) ans++;
return ans;
}
int main()
{
int n,m;
int i,j;
while (~scanf ("%d",&n))
{
memset(a,0,sizeof(a));
m=prim(n);
printf("%d\n",m);
}
return 0;
}