#P0590. 排列和谐(Permutations Harmony)

排列和谐(Permutations Harmony)

题目描述

Rayan 想送给 Reyhaneh 一份礼物,但 Reyhaneh 只会接受一个 kk-和谐排列集合。

一个由 kk 个互不相同的长度为 nn 的排列 p1,p2,,pkp_1,p_2,\ldots,p_k 组成的集合称为 kk-和谐的,当且仅当对任意两个位置 i,ji,j1i,jn1\le i,j\le n),都有

$$p_1[i]+p_2[i]+\cdots+p_k[i]=p_1[j]+p_2[j]+\cdots+p_k[j].$$

请你对给定的 n,kn,k,构造一个合法的 kk-和谐排列集合,或判断其不存在。

长度为 nn 的排列指包含 11nn 每个整数恰好一次的序列。

输入格式

第一行一个整数 tt,表示测试组数。

每组数据一行两个整数 n,kn,k

输出格式

对每组数据,如果存在 kk-和谐排列集合,第一行输出 YES,接下来输出 kk 行,每行一个长度为 nn 的排列,且这些排列必须两两不同。

如果不存在,输出 NO

大小写不限。如果有多种方案,输出任意一种即可。

样例

4
3 3
4 2
5 1
3 2
YES
1 2 3
2 3 1
3 1 2
YES
1 2 3 4
4 3 2 1
NO
YES
1 2 3
3 2 1

说明

样例 11 中,p1=[1,2,3]p_1=[1,2,3]p2=[2,3,1]p_2=[2,3,1]p3=[3,1,2]p_3=[3,1,2],每一列的和都为 66

样例 22 中,p1=[1,2,3,4]p_1=[1,2,3,4]p2=[4,3,2,1]p_2=[4,3,2,1],每一列的和都为 55

样例 33 中,若 k=1k=1n=5n=5,单个排列的各位置值不可能全部相等,因此无解。

数据范围

1t10001\le t\le10001n,k1051\le n,k\le10^5

所有测试组的 nkn\cdot k 之和不超过 5×1055\times10^5