#include <iostream>
using namespace std;
int main() {
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
int r, c;
cin >> r >> c;
int r_beg = 0, r_end = r - 1, c_beg = 0, c_end = c - 1;
int **m = new int*[r];
for (int i = 0; i < r; i++)
{
m[i] = new int[c];
for (int j = 0; j < c; j++)
{
cin >> m[i][j];
}
}
for (int runs = min(r, c);;)
{
for (int i = c_beg; i <= c_end; i++)
cout << " " << m[r_beg][i];
++r_beg;
for (int i = r_beg; i <= r_end; i++)
cout << " " << m[i][c_end];
--c_end;
if (!--runs) break;
for (int i = c_end; i >= c_beg; i--)
cout << " " << m[r_end][i];
--r_end;
for (int i = r_end; i >= r_beg; i--)
cout << " " << m[i][c_beg];
++c_beg;
if (!--runs) break;
}
for (int i = 0; i < r; i++)
delete[] m[i];
delete[] m;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICAvL2ZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgLy9mcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwoKICAgIGludCByLCBjOwogICAgY2luID4+IHIgPj4gYzsKICAgIGludCByX2JlZyA9IDAsIHJfZW5kID0gciAtIDEsIGNfYmVnID0gMCwgY19lbmQgPSBjIC0gMTsKCiAgICBpbnQgKiptID0gbmV3IGludCpbcl07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCByOyBpKyspCiAgICB7CiAgICAgICAgbVtpXSA9IG5ldyBpbnRbY107CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBjOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBjaW4gPj4gbVtpXVtqXTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgcnVucyA9IG1pbihyLCBjKTs7KQogICAgewogICAgICAgIGZvciAoaW50IGkgPSBjX2JlZzsgaSA8PSBjX2VuZDsgaSsrKQogICAgICAgICAgICBjb3V0IDw8ICIgIiA8PCBtW3JfYmVnXVtpXTsKICAgICAgICArK3JfYmVnOyAgICAKICAgICAgICBmb3IgKGludCBpID0gcl9iZWc7IGkgPD0gcl9lbmQ7IGkrKykKICAgICAgICAgICAgY291dCA8PCAiICIgPDwgbVtpXVtjX2VuZF07CiAgICAgICAgLS1jX2VuZDsKICAgICAgICBpZiAoIS0tcnVucykgYnJlYWs7CgogICAgICAgIGZvciAoaW50IGkgPSBjX2VuZDsgaSA+PSBjX2JlZzsgaS0tKQogICAgICAgICAgICBjb3V0IDw8ICIgIiA8PCBtW3JfZW5kXVtpXTsKICAgICAgICAtLXJfZW5kOwogICAgICAgIGZvciAoaW50IGkgPSByX2VuZDsgaSA+PSByX2JlZzsgaS0tKQogICAgICAgICAgICBjb3V0IDw8ICIgIiA8PCBtW2ldW2NfYmVnXTsKICAgICAgICArK2NfYmVnOwogICAgICAgIGlmICghLS1ydW5zKSBicmVhazsKCiAgICB9CgoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcjsgaSsrKQogICAgICAgIGRlbGV0ZVtdIG1baV07CiAgICBkZWxldGVbXSBtOwoKICAgIHJldHVybiAwOwp9