# encoding = utf-8
# 开发者:xxx
# 开发时间: 1:02
# "Stay hungry,stay foolish."
def cycle(m, n, board, row, col, num):
# 前列
for i in range(row, m - row):
print(board[i][col], end=" ")
num += 1
if num == m * n:
return
# 底行
for i in range(col + 1, n - 1 - col):
print(board[m - 1 - row][i], end=" ")
num += 1
if num == m * n:
return
# 后列
for i in range(m - 1 - row, row - 1, -1):
print(board[i][n - 1 - col], end=" ")
num += 1
if num == m * n:
return
# 顶行
for i in range(n - 2 - col, col, -1):
print(board[row][i], end=" ")
num += 1
if num == m * n:
return
cycle(m, n, board, row + 1, col + 1, num)
m, n = map(int, input().split())
board = []
for _ in range(m):
row = list(map(int, input().split()))
board.append(row)
cycle(m, n, board, 0, 0, 0)