给定一个 $n$ 行 $m$ 列的网格,用 $0$ 到 $nm-1$ 之间的整数填充每个单元格(每个整数恰好使用一次),使得对于所有 $0 \le i < nm$,包含 $i$ 的单元格和包含 $(i + 1) \bmod nm$ 的单元格不相邻(即它们不共享一条边)。
输入格式
输入包含多组测试数据。输入的第一行包含一个整数 $T$ ($1 \le T \le 10^4$),表示测试数据的组数。对于每组测试数据:
第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 2 \times 10^5$,$3 \le n \times m \le 2 \times 10^5$),表示网格的行数和列数。
保证所有测试数据的 $n \times m$ 之和不超过 $2 \times 10^5$。
输出格式
对于每组测试数据:
- 如果存在合法的排列,首先在一行中输出
Yes。然后输出 $n$ 行。第 $i$ 行包含 $m$ 个由空格隔开的整数,其中第 $j$ 个整数表示填充在第 $i$ 行第 $j$ 列单元格中的数字。如果存在多个合法的排列,输出其中任意一个即可。 - 否则,如果不存在合法的排列,只需在一行中输出
No。
样例
输入样例 1
2 3 4 1 3
输出样例 1
Yes 4 9 7 1 10 0 5 3 6 2 11 8 No