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 
from sys import stdin,stdout
t = 1
t=int(input())
def factorgreaterthan(n,x):
	i=x+1
	while (i*i)<=n:
		if n%i==0:
			return i
		i+=1
	return n
for i in range(t):
	n=int(input())
	N=n
	l=[]
	d1=factorgreaterthan(n,1)
	n//=d1
	l.append(d1)
	d2=factorgreaterthan(n,d1)
	n//=d2
	l.append(d2)
	l.append(n)
	l.sort()
	m=1
	flag=True
	p=1
	for i in l:
		m*=i
		if i==p:
			flag=False
		p=i
	if m!=N:
		flag=False
	if flag:
		print("YES")
		print(*l)
	else:
		print("NO")

	#solve
	