#include using namespace std; #define bokusunny ios::sync_with_stdio(false), cin.tie(nullptr); bool is_prime(long long x) { if (x == 1) return false; long long i = 2; while (i * i <= x) { if (x % i == 0) return false; i++; } return true; } void solve() { long long x; cin >> x; const long long INFLL = 1LL << 60; long long ans = INFLL; for (int p = 2; p <= 1000; p++) { if (!is_prime(p)) continue; if (x % p == 0) { long long xx = x; int ex = 0; while (xx % p == 0) { ex++; xx /= p; } long long tmp = x; for (int t = 0; t <= ex; t++) { if (tmp >= INFLL / p) { tmp = INFLL; break; } tmp *= p; } ans = min(ans, tmp); } else { ans = min(ans, x * p); break; } } cout << ans << endl; } int main() { bokusunny; int t; cin >> t; while (t--) solve(); return 0; }