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 
n=int(input())
for i in range (n):
    a=int(input())
    k=a
    p=[]
    j=2
    while (j*j<k):
        if (k%j==0 and j not in p):
            p.append(j)
            k=k//j
        if (len(p)==2):
            g=a//(p[0]*p[1])
            if (g!=p[0] and g!=p[1]):
                break
        j+=1
    if len(p)<2:
        print ("NO")
    elif len (p)==2 and p[0]*p[1]==a:
        print ("NO")
    elif  p[0]!=a//(p[0]*p[1]) and p[1]!=a//(p[0]*p[1]):
        print ("YES")
        print(p[0],p[1],a//(p[0]*p[1]))
    else :
        print ("NO")
