#include<iostream>
using namespace std;
int a201201;//存储矩阵
int b41000;//存储结果
int vis201201;//标记是否访问过
int dir42={{1,0},{0,1},{-1,0},{0,-1}};//方向:下右上左
int main(){
int m,n;
int d=0,t=0;//t记录数值的索引,d方向索引
int x,y,tx,ty;
cin>>m>>n;
x=y=1;//从第一行第一列开始
//读取矩阵
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>aij;
}
}
//进行螺旋式遍历
for(int i=1;i<=m*n;i++){
tx=x+dird0;
ty=y+dird1;
if(tx<1||tx>m||ty<1||ty>n||vistxty==1){//碰到边界需要转弯
d=(d+1)%4;
}
bt++=axy;
visxy=1;
x+=dird0;
y+=dird1;
}
for(int i=0;i<m*n;i++){
cout<<bi<<" ";
}
return 0;
}