Q = int(input()) A = [] for it in range(2, 40): s = set() for j in range(2, 10**6 + 1): v = pow(j, it) if v <= 10**12: s.add(v) else: break A.append(s) for i in [0]*Q: N = int(input()) ok = False for j in range(len(A) - 1, -1, -1): if N in A[j]: print(j + 2) ok = True break if not ok: print(1)