#include<iostream>
#define dx 1050
using namespace std;
int x[dx][dx];
int main()
{
    int n,m,i,j,st,dr,sus,jos;
    cin>>n>>m;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            cin>>x[i][j];
        }
    }
    st=1;
    dr=m;
    sus=1;
    jos=n;
    while(1!=0)
    {
        for(j=st;j<=dr;j++)
        {
            cout<<x[sus][j]<<" ";
        }
        sus++;
        if(st>dr || sus>jos) return 0;
        for(i=sus;i<=jos;i++)
        {
            cout<<x[i][dr]<<" ";
        }
        dr--;
        if(st>dr || sus>jos) return 0;
        for(j=dr;j>=st;j--)
        {
            cout<<x[jos][j]<<" ";
        }
        jos--;
        if(st>dr || sus>jos) return 0;
        for(i=jos;i>=sus;i--)
        {
            cout<<x[i][st]<<" ";
        }
        st++;
        if(st>dr || sus>jos) return 0;
    }
}