分拆
题目背景
小 W 喜欢分拆。
题目描述
小 W 定义了一种「良好的分拆」:
对于正整数 $n$,如果存在 $n$ 个整数 $(a_1,a_2,\cdots,a_n)$ 使得 $\sum\limits_{i=1}^na_i=\prod\limits_{i=1}^na_i=n$,那么称 $n$ 是「良好的」,而 $(a_1,a_2,\cdots,a_n)$ 是 $n$ 的一个「良好的分拆」。
现在,小 W 给了你一些 $n$,他希望你求出这些 $n$ 分别是不是「良好的」。如果是良好的,请**任意**输出一个 $n$ 的「良好的分拆」。
输入输出格式
输入格式
第一行一个整数 $T$,表示数据组数。
接下来 $T$ 行,每行一个整数 $n$,表示小 W 的一个询问。
输出格式
对于每组数据,输出若干行。
如果 $n$ 不是「良好的」,那么仅输出一行 `NO`;
否则,第一行输出 `YES`,接下来一行一个数 $a$,表示你的「良好的分拆」中有多少种不同的数,接下来 $a$ 行,每行两个数 $x,y$,表示有 $x$ 个 $y$。
输入输出样例
输入样例 #1
3
1
2
5
输出样例 #1
YES
1
1 1
NO
YES
3
1 5
2 1
2 -1
说明
## 样例解释
$n=1$ 时,$(1)$ 是 $1$ 的一个「良好的分拆」;
$n=2$ 时,$2$ 没有「良好的分拆」;
$n=5$ 时,$5+1+1+(-1)+(-1)=5\times1\times1\times(-1)\times(-1)=5$,所以 $(5,1,1,-1,-1)$ 是 $5$ 的一个「良好的分拆」。
## 数据范围
**本题不捆绑测试。**
$\text{Subtask\;1(10\;pts)}$:$n=1,T=1000$;
$\text{Subtask\;2(30\;pts)}$:$n\le 10^4,T=100$;
$\text{Subtask\;3(60\;pts)}$:$T=1000$。
对于所有数据,$1\le n\le10^9$。
## 说明
本题带有 $\text{SPJ}$。
某个测试点获得满分,当且仅当对于这个测试点的所有 $T$ 组数据,有:
- 第一行的答案相同。
- 如果第一行的答案为 `YES`,则还要满足 $1\le a\le 20$,$1\le x\le n$,$\sum y\times x=\prod y^x=\sum x=n$。
**为了便于 $\text{SPJ}$ 的编写,允许有的 $y$ 相同,同时请确保在输出文件末尾有且仅有一个换行。**
$\text{SPJ}$ 源码请到[云剪贴板](https://www.luogu.com.cn/paste/tlhjg36n)查看。