Primes_MAX = 10 ** 4 Primes = [] Sieve = [0] * Primes_MAX Sieve[0] = Sieve[1] = -1 for p in range(2, Primes_MAX): if not Sieve[p]: Primes.append(p) Sieve[p] = p for q in range(p * p, Primes_MAX, p): if not Sieve[q]: Sieve[q] = p for _ in range(int(input())): x = int(input()) for i in range(2, Primes_MAX): p = Sieve[i] cnt = 0 tmp = i while tmp % p == 0: tmp //= p cnt += 1 if tmp != 1: continue cx = 0 tmp = x while tmp % p == 0: tmp //= p cx += 1 if 2 * (1 + cx) == (1 + cx + cnt): break y = x * i print(y)