import
java.util.ArrayList;
import
java.util.Arrays;
import
java.util.Scanner;
public
class
Main
{
public
static
boolean
[][] visited;
public
static
void
main(String[] args)
{
Scanner scanner =
new
Scanner(System.in);
while
(scanner.hasNext())
{
int
x = scanner.nextInt();
int
y = scanner.nextInt();
int
[][] num =
new
int
[x][y];
visited =
new
boolean
[x][y];
for
(
int
i =
0
; i < x; i++)
for
(
int
j =
0
; j < y; j++)
{
num[i][j] = scanner.nextInt();
visited[i][j] =
false
;
}
int
time =
0
;
int
a = -
1
, b =
0
;
while
(time < x * y)
{
while
(a +
1
< x && visited[a +
1
][b] ==
false
)
{
System.out.print(num[a +
1
][b] +
" "
);
visited[a +
1
][b] =
true
;
a++;
time++;
}
while
(b +
1
< y && visited[a][b +
1
] ==
false
)
{
System.out.print(num[a][b +
1
] +
" "
);
visited[a][b +
1
] =
true
;
b++;
time++;
}
while
(a -
1
>=
0
&& visited[a -
1
][b] ==
false
)
{
System.out.print(num[a -
1
][b] +
" "
);
visited[a -
1
][b] =
true
;
a--;
time++;
}
while
(b -
1
>=
0
&& visited[a][b -
1
] ==
false
)
{
System.out.print(num[a][b -
1
] +
" "
);
visited[a][b -
1
] =
true
;
b--;
time++;
}
}
}
}
}