/*
枚举素数幂p
然后求k^p<=n 的 k的个数
因为 k^p1*p2==k^p2*p1,所以这两种情况是多算的,所以要进行容斥
减去两个质数幂相乘的,再加上三个质数幂相乘的
因为2*3*5*7>60,所以最多容斥两次就可以
枚举pi最为起点进行深搜,只搜比pi大的
*/
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int p[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59};
ll ans,n;
//素数下标pos,当前幂e,容斥标记(质数幂个数cnt)
void dfs(int pos,ll e,int cnt){
ll k=(ll)pow(n,1.0/e);
if(cnt%2)ans+=k-1;//k=1时不算
else ans-=k-1;
if(cnt>2)return;//不用往下搜了
for(int i=pos+1;i<17;i++)
dfs(i,e*p[i],cnt+1);
}
int main(){
while(cin>>n){
ans=1;
for(int i=0;i<17;i++)dfs(i,p[i],1);
cout<<ans<<endl;
}
}