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 Wed Jan 22 18:45:17 2020

@author: npuja
"""
"""
t=int(input())
for i in range(0,t):
    a,b,c,n=(int(k) for k in input().split())
    mac=0
    if a>=b and a>=c:
        mac=a
    elif b>=a and b>=c:
        mac=b
    else:
        mac=c
    test=n-3*(mac)+a+b+c
    if test<0 or test%3!=0:
        print("NO")
    else:
        print("YES")
        """
# Product of three no
t=int(input())
for i in range(0,t):
    n=int(input())
    l=int(n**(1/3))
    a=1
    for k in range(2,l+1):
        if n%k==0:
            a=k
            break
    b=1
    c=1
    if a==1:
        print("NO")
    else:
        m=n/a
        l=int(m**(1/2))
        for k in range(a+1,l+1):
            if m%k==0:
                b=k
                c=int(m/b)
                break
        if a!=1 and b!=1 and c!=1 and c!=b:
            print("YES")
            print(a,b,c)
        else:
            print("NO")
        
    
    
        
            
