#include <stdio.h>
int main() {
int matrix[100][100];
int m;
int n;
scanf("%d%d",&n,&m);
for(int i = 0;i<n;i++){
for(int j = 0;j<m;j++){
scanf("%d",&matrix[i][j]);
}
}
//旋转顺时针螺旋输出总数
int maxNum = n*m;
int prtint = 0;
int x = 0;
int y = 0;
int j;
int i;
int top = 0;
int down = 1;
while(prtint < maxNum){
i = x;
j = y;
//向左输出
while (j < m && prtint < maxNum) {
printf("%d",matrix[i][j++]);
prtint++;
if(prtint < maxNum){
printf(" ");
}
}
while (i < n - 1 && prtint < maxNum) {
printf("%d",matrix[++i][j - 1]);
prtint++;
if(prtint < maxNum){
printf(" ");
}
}
j--;
while (j > top && prtint < maxNum) {
printf("%d",matrix[i][--j]);
prtint++;
if(prtint < maxNum){
printf(" ");
}
}
while (i > down && prtint < maxNum) {
printf("%d",matrix[--i][j]);
prtint++;
if(prtint < maxNum){
printf(" ");
}
}
--m;
--n;
++x;
++y;
++top;
++down;
}
return 0;
}