N = 1000 isprime = [True] * N isprime[0] = isprime[1] = False prime = [] for i in range(2, int(N ** 0.5 + 1)): if not isprime[i]: continue prime.append(i) for j in range(i * i, N, i): isprime[j] = False def solve(): x = int(input()) min_ = 1 << 60 for p in prime: if x % p != 0: print(min(p, min_) * x) return else: cnt = 0 X = x while X % p == 0: X //= p cnt += 1 min_ = min(min_, p ** (cnt + 1)) for _ in range(int(input())): solve()