#include<bits/stdc++.h>
typedef long long int ll;
typedef long double ld;
#define fast ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define enddl '\n'
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define full(a) a.begin(),a.end()
#define mem(a,x) memset(a,x,sizeof(a))
const int MAXN = 1e7+5;
const int MOD = 1e9+7;
using namespace std;
vector<pii> v[MAXN];
bool prime[MAXN];
int hans;
void sieve() {
mem(prime,true);
prime[0] = prime[1] = false;
for(int i=2;i<MAXN;i++) {
if(prime[i]) {
hans = i;
for(int j=i;j<MAXN;j+=i) {
if(j>i) prime[j] = false;
int temp = j;
int x = 0;
while((temp%i) == 0) {
x++;
temp/=i;
}
v[j].pb({i,x});
}
}
}
}
int main() {
//freopen("input10.txt","r",stdin);
//freopen("output10.txt","w",stdout);
fast;
sieve();
int t;
cin >> t;
while(t--) {
int n;
cin >> n;
ll ans = 1;
for(auto it : v[n]) {
if((it.ss%2) == 1) {
ans = ans * (ll(it.ff));
}
}
cout << ans << endl;
}
}
ICAgICNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiAgICAgCiAgICB0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGw7CiAgICB0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwogICAgIAogICAgI2RlZmluZSBmYXN0IGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCkKICAgICNkZWZpbmUgZW5kZGwgJ1xuJwogICAgI2RlZmluZSBmZiBmaXJzdAogICAgI2RlZmluZSBzcyBzZWNvbmQKICAgICNkZWZpbmUgcGIgcHVzaF9iYWNrCiAgICAjZGVmaW5lIG1wIG1ha2VfcGFpcgogICAgI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgogICAgI2RlZmluZSBmdWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiAgICAjZGVmaW5lIG1lbShhLHgpIG1lbXNldChhLHgsc2l6ZW9mKGEpKQogICAgIAogICAgY29uc3QgaW50IE1BWE4gPSAxZTcrNTsKICAgIGNvbnN0IGludCBNT0QgPSAxZTkrNzsKICAgICAKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgCiAgICB2ZWN0b3I8cGlpPiB2W01BWE5dOwogICAgYm9vbCBwcmltZVtNQVhOXTsKICAgIGludCBoYW5zOwogICAgIAogICAgdm9pZCBzaWV2ZSgpIHsKICAgIAltZW0ocHJpbWUsdHJ1ZSk7CiAgICAJcHJpbWVbMF0gPSBwcmltZVsxXSA9IGZhbHNlOwogICAgCWZvcihpbnQgaT0yO2k8TUFYTjtpKyspIHsKICAgIAkJaWYocHJpbWVbaV0pIHsKICAgIAkJCWhhbnMgPSBpOwogICAgCQkJZm9yKGludCBqPWk7ajxNQVhOO2orPWkpIHsKICAgIAkJCQlpZihqPmkpIHByaW1lW2pdID0gZmFsc2U7CiAgICAJCQkJaW50IHRlbXAgPSBqOwogICAgCQkJCWludCB4ID0gMDsKICAgIAkJCQl3aGlsZSgodGVtcCVpKSA9PSAwKSB7CiAgICAJCQkJCXgrKzsKICAgIAkJCQkJdGVtcC89aTsKICAgIAkJCQl9CiAgICAJCQkJdltqXS5wYih7aSx4fSk7CiAgICAJCQl9CiAgICAJCX0KICAgIAl9CiAgICB9CiAgICAgCiAgICBpbnQgbWFpbigpIHsKICAgIAkvL2ZyZW9wZW4oImlucHV0MTAudHh0IiwiciIsc3RkaW4pOwogICAgCS8vZnJlb3Blbigib3V0cHV0MTAudHh0IiwidyIsc3Rkb3V0KTsKICAgIAlmYXN0OwogICAgCXNpZXZlKCk7CiAgICAJaW50IHQ7CiAgICAJY2luID4+IHQ7CiAgICAJd2hpbGUodC0tKSB7CiAgICAJCWludCBuOwogICAgCQljaW4gPj4gbjsKICAgIAkJbGwgYW5zID0gMTsKICAgIAkJZm9yKGF1dG8gaXQgOiB2W25dKSB7CiAgICAJCQlpZigoaXQuc3MlMikgPT0gMSkgewogICAgCQkJCWFucyA9IGFucyAqIChsbChpdC5mZikpOwogICAgCQkJfQogICAgCQl9CiAgICAJCWNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICAJfQogICAgfSA=