from functools import cache @cache def p(x,y): if y==0: return 1 elif y==1: return x elif y%2==1: return p(x,y//2)*p(x,y//2)*y else: return p(x,y//2)*p(x,y//2) T=int(input()) for _ in range(T): n=int(input()) for k in reversed(range(2,40)): ok=0 ng=10**6 while ng-ok>1: m=(ok+ng)//2 if p(m,k)<=n: ok=m else: ng=m if ok**k==n: print(k) break else: print(1)