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 
t=int(input())
j=0

while j<t:
 n=int(input())

 i=1
 var1='NO'
 var2='NO'
 while i<(n**(1/3)) and var1=='NO':
  i+=1
  if n%i==0:
   var1='YES'

 a=i

 if var1=='YES':
  product=(n/a)
  i=(a+1)
  while i<(product**(0.5)) and var2=='NO':
   if product%i==0:
    var2='YES'
    b=i
    c=product/b
   i+=1
 
 if var1=='YES' and var2=='YES':
  print('YES')
  print(a,b,int(c))
 else:
  print('NO')

 j+=1
  
 
