var
n,ans,i,j:longint;
w:int64;
f:array[0..100000]of boolean;
begin
assign(input,'game.in');
reset(input);
assign(output,'game.out');
rewrite(output);
readln(n);
fillchar(f,sizeof(f),false);
f[1]:=true;
ans:=0;
for i:=2 to n do
if f[i]=false then
for j:=2 to n div i do
f[i*j]:=true;
for i:=2 to n do
if f[i]=false then
begin
w:=i;
while w<=n do
begin
inc(ans);
w:=w*i;
end;
end;
write(ans);
close(input);
close(output);
end.