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 
# -*- coding: utf-8 -*-
"""
Created on Sun Jan 19 16:11:01 2020

@author: PC
"""

def product(n):
    A = []
    L1 = isPrime(n, A)
    if len(L1) != 1:
        print("NO")
    else: 
        n = n//L1[0]
        L2 = isPrime(n, L1)
    
        if len(L2) != 2:
            print("NO")
        else:
            n = n//L2[1]
            if n in L2:
                print("NO")
            else:
                L2.append(n)
                print("YES")
                for el in L2:
                    print(el, end = " ")
    
    

def isPrime(n, B):
    
    d = 2
    isPrime = True
    
    while d*d <= n and isPrime:
        if n%d == 0 and d not in B:
            B.append(d)
            isPrime = False
            
        else: d += 1
    return B
    

t = int(input())
for i in range(t):
    n = int(input())
    product(n)        
        
            