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:
from math import sqrt
t=int(input())
while t:
    n=int(input())
    nn=n
    nnn=n
    num=[]
    n=int(sqrt(n))+1
    cou=0
    if(nn%2==0):
        cou+=1
        num.append(2)
    while nn%2==0:
        nn=nn//2
    for i in range(3,n,2):
        if(cou==3):
            break
        if(nn%i==0):
            cou+=1
            num.append(i)
        while nn%i==0:
            nn=nn//i
    if(nn!=1):
        cou+=1
        num.append(nn)
    if(cou>=3):
        print("YES")
        print(num[0],num[1],nnn//(num[0]*num[1]))
    else:
        if(cou==1):
            a=num[0]
            b=num[0]*num[0]
            c=nnn//(a*b)
            if(a!=b and a!=c and c>b):
                print("YES")
                print(a,b,c)
            else:
                print("NO")
        else:
            a=num[0]
            b=num[1]
            c=nnn//(num[0]*num[1])
            if(c!=a and c!=b and c>1):
                print("YES")
                print(num[0],num[1],c)
            else:
                print("NO")
    t-=1