#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rep(i,n) for(int (i)=0;(i)<(n);(i)++)
#define Pr pair<ll,ll>
#define Tp tuple<ll,ll,ll>
using Graph = vector<vector<int>>;

const ll mod = 1000000007;

int main() {
    ll T;
    cin >>T;
    vector<ll> pr = {2,3,5,7,11,13,17,19,23,29,31};
    rep(ii,T){
        ll N; cin >> N;
        ll ans = 2e9;
        rep(i,11){
            ll  K = N;
            ll b = pr[i];
            while(K%pr[i]==0){
                K /= pr[i]; b *= pr[i];
                if(b>100000){
                    b = 2e9; break;
                }
            }
            ans = min(ans,b);
        }
        cout << N*ans << endl;
    }
    //cout << ans << endl;
}