#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <vector>

using namespace std;
typedef long long LL;

int matrix[1010][1010];
vector<int> res;

void solve(){
        int n, m;
        std::cin >> n >> m;
        for (int i = 0 ; i < n; i ++ ){
            for (int j = 0;  j < m; j ++ )
                std::cin >> matrix[i][j];
        }
        int  dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};
        int x = 0, y = 0, idx = 0;
        vector<vector<bool>> st(n, vector<bool> (m, false));
        for (int i = 0; i < n * m; i ++ ){
            res.push_back(matrix[x][y]);
            st[x][y] = true;
            int a = x + dx[idx], b = y + dy[idx];
            if (a < 0 || a >= n || b < 0 || b >= m || st[a][b]){
                idx = (idx+1)%4;
                a = x + dx[idx], b = y + dy[idx];
            }
            x = a, y = b;
        }

        for (int i = 0; i < n * m; i ++ ) std::cout << res[i] << " ";
        std::cout << endl;
        std::system("pause");
        return;
}

int main (){
    solve();
    return  0;
}