#include<bits/stdc++.h>
#define inf 1e9

using namespace std;
typedef long long ll;

int main()
{
   //freopen("a.txt", "r", stdin);
   int n,m;
   cin >> n >> m;
   int matr[n][m];
   for(int i = 0; i < n; i++){
    for(int j = 0; j < m; j++){
        cin >> matr[i][j];
    }
   }

   int a,b,p, all = n*m, dir = 0;
   a = 0;
   b = 0;
   p = 0;


   while(p < all){
    switch (dir){
    case 0:
        while((b<m) && (matr[a][b]>0)){
            cout << matr[a][b] << " ";matr[a][b] = 0;
            b++;p++;
        }
        a++;
        b--;
        dir++;
        break;
    case 1:
        while((a<n) && (matr[a][b]>0)){
            cout << matr[a][b] << " ";matr[a][b] = 0;
            a++;p++;
        }
        a--;
        b--;
        dir++;
        break;
    case 2:
        while((b>=0) && (matr[a][b]>0)){
            cout << matr[a][b] << " ";matr[a][b] = 0;
            b--;p++;
        }
        b++;
        a--;
        dir++;
        break;
    case 3:
        while((a>=0) && (matr[a][b]>0)){
            cout << matr[a][b] << " ";matr[a][b] = 0;
            a--;p++;
        }
        a++;
        b++;
        dir=0;
        break;
    }



   }


    return 0;
}