Problem: You are given one integer number n. Find three distinct integers a, b, c such that 2 ≤ a, b, c and a ⋅ b ⋅ c = n or say that it is impossible to do it.

If there are several answers, you can print any.

You have to answer t independent test cases.

Input

The first line of the input contains one integer t (1 ≤ t ≤ 100) — the number of test cases.

The next n lines describe test cases. The i-th test case is given on a new line as one integer n (2 ≤ n ≤ 10^9).

Output

For each test case, print the answer on it. Print "NO" if it is impossible to represent n as a ⋅ b ⋅ c for some distinct integers a, b, c such that 2 ≤ a, b, c.

Otherwise, print "YES" and any possible such representation.

Example

Input


5
64
32
97
2
12345


Output


YES
2 4 8 
NO
NO
NO
YES
3 5 823 

Solution (in PYTHON3):

Solution:
import math
def primeFactors(n):
  factors = []
  while n % 2 == 0:
    factors.append(2)
    n = n // 2
  for i in range(3, int(math.sqrt(n)) + 1, 2):

    while n % i == 0:
      factors.append(i)
      n = n // i
  if n > 2:
    factors.append(n)
  return factors
t=int(input())
for q in range(t):
  n=int(input())
  factor=primeFactors(n)
  #print(factor)
  if len(factor)<3:
    print('NO')
    continue
  a,b,c=0,0,0
  a=factor[0]
  b=1
  c=1
  for i in range(1,len(factor)):
    b*=factor[i]
    if b!=a:
      cin=i
      break
  for i in range(cin+1,len(factor)):
    c *= factor[i]
  if len(set([a,b,c]))==3 and a>=2 and b>=2 and c>=2:
    print('YES')
    print(a,b,c)
  else:
    print('NO')