#include using namespace std; int n, m; int a[1001][1001]; bool viz[1001][1001]; int main() { cin >> n >> m; int x = 0, y = 0; for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) cin >> a[i][j]; bool ok = 1; while (ok) { x++, y++; ok = 0; for (int i = y; i <= m - y; ++i) { if (!viz[x][i]) cout << a[x][i] << ' ', ok = 1; viz[x][i] = 1; } for (int i = x; i <= n - x; ++i) { if (!viz[i][m - y + 1]) cout << a[i][m - y + 1] << ' ', ok = 1; viz[i][m - y + 1] = 1; } for (int i = m - y + 1; i > y; --i) { if (!viz[n - x + 1][i]) cout << a[n - x + 1][i] << ' ', ok = 1; viz[n - x + 1][i] = 1; } for (int i = n - x + 1; i > x; --i) { if (!viz[i][y]) cout << a[i][y] << ' ', ok = 1; viz[i][y] = 1; } } if (n == m && n % 2) cout << a[n / 2 + 1][n / 2 + 1]; return 0; }