#include<bits/stdc++.h>
using namespace std;
long long b[10000001];
int main()
{
long long n,k;
long long ans=1;
cin>>n>>k;
if(k==1)
{
cout<<n;
return 0;
}
int k1=k;
if(k==2)
{
ans=pow(n,1.0/2);
k++;
}
int h=0;
for(long long i=2;powl(i,k)<=n;i++)
{
if(powl(i,k)<0)break;
for(long long j=k;powl(i,j)<=n;j++)
{
long long w=powl(i,j);
if(w<0)break;
if(k1==2&&sqrtl(w)==(int)sqrtl(w))continue;
b[++h]=w;
}
}
sort(b+1,b+1+h);
for(int i=1;i<=h;i++)
{
if(b[i]!=b[i-1])ans++;
}
cout<<ans;
return 0;
}