Could u please tell what is wrong in this code

#include<bits/stdc++.h>
#define ll long long int
using namespace std;

int main(){

ll n,k,d;
ll t,ans;
cin>>t;
while(t--){
    cin>>n>>k;
    ll s=0,e=n;
    while(s<=e){
        ll mid=(s+e)/2;
        ll p=pow(mid,k);
        if(p==n){
            ans=mid;
            cout<<ans<<endl;
            break;
        }
        else if(p>=n){
            e=mid-1;
        }
        else{
            ans=mid;
            s=mid+1;
        }
    }
}
cout<<ans<<endl;

}