#include <stdio.h>
int (*dit(int (*p)[5], int m, int n))[5] {
int (*a)[5] = (int (*)[5])malloc(n * sizeof(int[5]));
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
a[j][i] = *(*(p + i) + j);
}
}
return a;
}
int main() {
int m, n;
scanf("%d %d", &m, &n);
int i, j;
int a[5][5];
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
int (*ret)[5] = dit(a, m, n);
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("%d ", ret[i][j]);
}
printf("\n");
//free(ret);
}
return 0;
}