d=[set() for i in range(40)] for i in range(2,40): for j in range(2,10**6+1): k=j**i if k<=10**12: d[i].add(k) else: break T=int(input()) for _ in range(T): n=int(input()) for k in reversed(range(2,40)): if n in d[k]: print(k) break else: print(1)