def get_prime(n): sieve = [True] * (n + 1) i = 2 while i * i <= n: if sieve[i]: for j in range(i * i, n + 1, i): sieve[j] = False i += 1 return [i for i in range(2, n + 1) if sieve[i]] q = int(input()) l = get_prime(100000) for _ in range(q): n = int(input()) cnt=0 idx=0 while cnt < 3 and idx < len(l): if n%l[idx] ==0: cnt+=1 n //= l[idx] else: idx += 1 if cnt == 3: if n == 1: print('Yes') else: print('No') elif cnt == 2: if n == 1: print('No') else: print(n) print('Yes') else: print('No')