#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000000 int main(){ vector p; for(long long i=2;true;i++){ if(p.size()>30)break; bool f = true; rep(j,p.size()){ if(i%p[j]==0){ f = false; break; } } if(f)p.push_back(i); } int _t; cin>>_t; rep(_,_t){ long long X; scanf("%lld",&X); long long mini = Inf; rep(i,p.size()){ long long cur = 1LL; while(true){ cur *= p[i]; if(X%cur!=0){ break; } } mini = min(mini,cur); } cout<