#include <iostream>

using namespace std;

const int NMAX = 1000;

int v[NMAX+2][NMAX+2], dx[4] = {0,1,0,-1}, dy[4] = {1,0,-1,0};
int N, M;

bool OK( int a, int b ) {
    return ( a > 0 && a <= N && b > 0 && b <= M && v[a][b] != -1 );
}

int main() {
    cin >> N >> M;
    for( int i = 1;  i <= N;  ++i ) {
        for( int j = 1;  j <= M;  ++j ) {
            cin >> v[i][j];
        }
    }
    int x = 1, y = 1, dir = 0;
    for( int pas = 1;  pas <= N*M;  ++pas ) {
        cout << v[x][y] << ' ';
        v[x][y] = -1;

        if( OK( x + dx[dir], y + dy[dir] ) ) {
            x += dx[dir];
            y += dy[dir];
        }
        else {
            dir = (dir + 1) % 4;
            x += dx[dir];
            y += dy[dir];
        }
    }
    return 0;
}