def get(x): r = [] for p in ps: c = 0 while x%p==0: x //= p c += 1 r.append(c) return r ps = [2,3,5,7,11,13,17,19,23,29,31] t,*a = map(int,open(0).read().split()) plst =[[0]*11] + [get(i) for i in range(1,32)] for x in a: lst = get(x) yx = 1 for i in lst: yx *= i+1 for r in range(2,32): yr = 1 for i,j in zip(lst,plst[r]): yr *= i+j+1 if yr == 2*yx: print(x*r) break