#include <iostream>
using namespace std;

int a[20004][20004]={0};//在主函数外定义数组节省内存

int main() {

    int n{},m{};//题设的n行m列
    cin>>n>>m;

    for(int i=0;i<n;i++)//输入n行
    {
        for(int j=0;j<m;j++)//输入m列
        {
            cin>>a[i][j];//现在我们有了一个n行m列的矩阵

        }
    }

    for(int i=0;i<m;i++)//倒置矩阵,就是将行和列互换
    {
        int k{1};//用于记录何时换行,写在这里是为了每行初始化
        for(int j=0;j<n;j++)//注意这两个循环的触发条件
        {
            
            cout<<a[j][i]<<" ";//依次输出
            if(k==n)//如果达到第n个数后就换行,即现在是n个数一行,矩阵变为m行n列
            cout<<endl;
            k++;
            
        }
    }


}
// 64 位输出请用 printf("%lld")