#P15774. 打乱矩阵复原

    ID: 14986 传统题 3000ms 512MiB 尝试: 2 已通过: 1 难度: 8 上传者: 标签>图论算法基础构造欧拉图CF2500二分图

打乱矩阵复原

题目描述

档案员 Mira 原本保存着 kk11nn 的排列。为了备份,她把每个排列以及它的逆排列都写成一行,组成了一个 2k×n2k\times n 的矩阵。

后来,原来的排列不见了,而且有人把矩阵的每一列都单独打乱了。也就是说,每一列内部的 2k2k 个数可以被任意重新排列,但不同列之间互不影响。

现在给定打乱后的矩阵。请你构造任意一组可能的 kk 个排列,使得把这些排列及其逆排列写成一个 2k×n2k\times n 矩阵后,能够通过分别重排每一列得到输入矩阵。

题目保证至少存在一种答案。

输入格式

第一行包含两个整数 n,kn,k

接下来 2k2k 行,第 ii 行包含 nn 个整数 aija_{ij},表示输入矩阵的第 ii 行。

输出格式

输出 kk 行,每行包含一个 11nn 的排列。

若将你输出的这些排列以及它们的逆排列写成 2k×n2k\times n 的矩阵,必须可以通过重排每一列中的元素得到输入矩阵。

如果有多种合法答案,输出任意一种即可。

数据范围

  • 1n41041\le n\le 4\cdot 10^4
  • 1k71\le k\le 7
  • 1aijn1\le a_{ij}\le n
  • 保证输入矩阵可以由题目描述中的过程得到。

样例 1

输入

3 1
1 2 3
1 2 3

输出

1 2 3

样例 2

输入

4 2
1 1 3 4
4 3 2 1
2 4 2 4
1 3 3 2

输出

1 3 2 4
4 1 3 2