给定两个整数 $N$ 和 $M$。你需要在一个 $N \times M$ 的网格中填入从 $1$ 到 $NM$ 的整数,每个整数恰好出现一次。
如果一种填充方式满足以下条件,则称其为“公平填充”(fair filling): 每个从 $1$ 到 $NM$ 的整数在网格中恰好出现一次。 每一行中 $M$ 个整数的和对于所有行都是相同的。
确定是否存在这样的公平填充,如果存在,请提供一个示例。 你将收到 $T$ 组测试用例,需要为每个测试用例提供解决方案。
输入格式
输入通过标准输入给出,格式如下,其中 $case_i$ 表示第 $i$ 个测试用例:
$T$ $case_1$ $case_2$ $\vdots$ $case_T$
每个测试用例的格式如下:
$N \ M$
- 输入中的所有值均为整数。
- $1 \le T \le 10^4$
- $1 \le N, M$
- $1 \le NM \le 3 \times 10^5$
- 对于每个输入文件,所有测试用例的 $NM$ 之和不超过 $5 \times 10^5$。
输出格式
按顺序输出每个测试用例的答案,以换行符分隔。
对于每个测试用例,如果不存在公平填充,输出 No。
否则,按以下格式输出一个公平填充的示例:
Yes $S_{1,1} \ S_{1,2} \dots \ S_{1,M}$ $S_{2,1} \ S_{2,2} \dots \ S_{2,M}$ $\vdots$ $S_{N,1} \ S_{N,2} \dots \ S_{N,M}$
其中 $S_{i,j}$ 表示位于从上往下第 $i$ 行、从左往右第 $j$ 列的方格中填入的整数。
样例
样例输入 1
2 2 2 10 1
样例输出 1
Yes 1 4 2 3 No
说明
- 对于第一个测试用例,每一行中 $M$ 个整数的和为 $5 = 1 + 4 = 2 + 3$。
- 对于第二个测试用例,可以证明不存在公平填充。