#include 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; }