{"trustable":false,"prependHtml":"\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"MD","content":"JWJU的校长 cocktail 正在准备骑士锦标赛。现在有 `n` 个骑士,编号为1-n,准备参加锦标赛。锦标赛的规则如下:\n\n- 锦标赛由 `k` 轮组成,每一轮包含很多小决斗,每场比赛发生在两个骑士之间。\n- 每个骑士每轮必须参加且只能参加一场决斗。\n- 对于每对骑士,`k` 轮中它们至多只能决斗一次。\n- 令 1 ≤ i, j ≤ k, i ≠ j 和四个不同数字 1 ≤ a, b, c, d ≤ n,如果\n - 骑士 a 与骑士 b 在第 i 轮决斗\n - 骑士 c 与骑士 d 在第 i 轮决斗\n - 骑士 a 与骑士 c 在第 j 轮决斗\n - 那么骑士 b 与骑士 d 必须在第 j 轮决斗\n\ncocktail很懒,他想让你写个程序帮他安排一下满足上述规则的 `k` 轮决斗。"}},{"title":"输入","value":{"format":"MD","content":"输入包含多组测试用例。第一行是 `T`,表示测试用例组数。\n\n对于每组测试用例,一行两个数字 `n, k` (1 ≤ n, k ≤ 1000) 表示参加锦标赛的骑士的数量和轮数。\n\n保证 `n` 的求和与 `k` 的求和都不超过 5000。"}},{"title":"输出","value":{"format":"MD","content":"对于每组测试用例:\n\n- 如果可以合法安排,输出 `k` 行。在第 `i` 行输出 `n` 个用空格分隔的数字 c\u003csub\u003ei,j\u003c/sub\u003e,表示第 `i` 轮,骑士 `j` 会和 c\u003csub\u003ei,j\u003c/sub\u003e 进行战斗。\n- 如果有多个合法答案,请输出字典序最小的答案。\n- 如果无法安排成功,请输出一行 `Impossible`。\n\n请不要在行末输出多余的空格,否则你的答案可能被视为错误!"}},{"title":"样例输入","value":{"format":"MD","content":"```\n2\n3 1\n4 3\n```"}},{"title":"样例输出","value":{"format":"MD","content":"```\nImpossible\n2 1 4 3\n3 4 1 2\n4 3 2 1\n``` "}}]}