q = int(input()) from collections import defaultdict dict = defaultdict(lambda: 1) k = 5*10**4 def prime(n): NP = [True for _ in range(n+1)] P = [] for i in range(2, n+1): if NP[i]: P.append(i) for j in range(i, n+1, i): NP[j] = False return P P = prime(k) NP = prime(10**6) N = 10**12 for now in range(len(P), len(NP)): t = 1 mow = NP[now] * NP[now] while mow * t <= N: dict[mow*t] = 2 t += 1 M = [int(input()) for _ in range(q)] for n in M: cnt = dict[n] for p in P: tmp = 0 while n % p == 0: tmp += 1 n //= p cnt = max(cnt, tmp) print(cnt)