#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000005 #define Inf64 1000000000000000001LL bool ok(long long n,int b){ long long ok = 1,ng = n+1; while(ng-ok>1LL){ long long mid = (ok+ng)/2; __int128 cur = 1; rep(_,b){ cur *= mid; if(cur > n)break; } if(cur <= n)ok = mid; else ng= mid; } __int128 cur = 1; rep(_,b){ cur *= ok; } return cur == n; } int main(){ int _t; cin>>_t; rep(_,_t){ long long n; cin>>n; for(long long i=40;i>=1;i--){ if(ok(n,i)){ cout<