#q370. 【例64.1】 二维数组转置

【例64.1】 二维数组转置

说明

输入一个 nnmm 列的数组,输出他的转置,具体来说
输出的第 ii 行第 jj 个数字,应是输入的第 jj 行第 ii 个数字。
$1 \le n \le 20000;1 \le m \le 20000;1 \le n * m \le 20000;1 \le a[i][j] \le 1000$
特别注意,你并不能声明一个两维的大小都是 2000020000 二维数组。(数组不能太大,二维数组的大小是两维的乘积)
二维数组本质上和一维数组等价,所以你只需要一个大小为 2000020000 的一维数组。

输入格式

第一行两个整数 nn , mm 表示数组的行数和列数;
接下来 nn 行,每行 mm 个整数表示数组内容。

输出格式

第一行先输出 mm , nn 。 接下来输出转置的结果,共 mmnn 列。 其中第 ii 行第 jj 个数字,应是输入的第 jj 行第 ii 个数字。

样例

3 2
1 2
3 4
5 6
2 3
1 3 5
2 4 6