#include <stdio.h>

int main() 
{
    int a[10][10] = {0};
    int n, m;//n代表行,m代表列
    while (scanf("%d %d", &n, &m) != EOF) 
    { 
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < m; j++)
            {
                scanf("%d", &a[i][j]);//用二维数组接收矩阵
            }
        }
        for(int i = 0; i < m; i++)//转置
        {
            for(int j = 0; j < n; j++)
            {
                printf("%d ", a[j][i]);
            }
            printf("\n");
        }
    }
    return 0;
}