P=[] M=10**6 F=[0]*(M+1) for i in range(2,M+1): if F[i]: continue P.append(i) for j in range(i*2,M+1,i): F[j]=1 def solve(): X=int(input()) Y=[] for i in range(100): x=X Y.append([P[i],0]) while x%P[i]==0: x//=P[i] Y[-1][1]+=1 ANS=10**18 for i in range(len(Y)): ANS=min(ANS,Y[i][0]**(Y[i][1]+1)) print(ANS*X) for t in range(int(input())): solve()