#include <cmath>
#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
//循环,标记
int m,n;
int cnt;
int a[1005][1005];
bool flag[1005][1005]; //标记
int main()
{
scanf("%d %d",&m,&n);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&a[i][j]);
cnt=m*n;
int i=1,j=1;
while(cnt) //当cnt等于0时结束循环,每次循环输出↓,→,↑,←
{ //代码还可以很多优化...
for(;i<=m;i++)
{
if(flag[i][j]==0)
{
cout<<a[i][j]<<" ";
cnt--;
flag[i][j]=1;
}
else
break;
}
i--;
j++;
for(;j<=n;j++)
{
if(flag[i][j]==0)
{
cout<<a[i][j]<<" ";
cnt--;
flag[i][j]=1;
}
else
break;
}
j--;
i--;
for(;i>=1;i--)
{
if(flag[i][j]==0)
{
cout<<a[i][j]<<" ";
cnt--;
flag[i][j]=1;
}
else
break;
}
i++;
j--;
for(;j>=1;j--)
{
if(flag[i][j]==0)
{
cout<<a[i][j]<<" ";
cnt--;
flag[i][j]=1;
}
else
break;
}
i++;
j++;
}
return 0;
}