#include
#include
#include<math.h>
using namespace std;
long long int findroot(long long int m,long long int h)
{
long long int s=0;
long long int e=m;
long long int mid;
while(s<=e)
{
mid=(s+e)/2;
long long int g;
g =pow(mid,h);
if(g>m)
{ e=mid-1; }
else if(g==m)
{ return mid;}
else
s=mid+1;
}
return mid-1;
}
int main() {
long long int n;
long long int k;
int t;
cin>>t;
while(t)
{
cin>>n;
cin>>k;
cout<<findroot(n,k)<<endl;
–t;
}
return 0;
}