program zad1;
var
a : array[0..100] of integer ;
n, k, i, j, pom: integer;
begin
readln(n);
for i := 0 to sqr(n) -1 do
read(a[i]);
readln;
i := 0;
j := 0;
k := 1;
pom := 1;
while (i < n) do begin
while (j < k) do begin
writeln(a[i * n + j]);
j := j + 1;
end;
i := i + 1; j := 0;
if ((pom = 1) and (k = n div 2 + n mod 2))
then begin
k := n div 2; pom := -1;
end
else k := k + pom;
end;
end.
cHJvZ3JhbSB6YWQxOwp2YXIKICBhIDogYXJyYXlbMC4uMTAwXSBvZiBpbnRlZ2VyIDsKICBuLCBrLCBpLCBqLCBwb206IGludGVnZXI7CmJlZ2luCiAgcmVhZGxuKG4pOwogIGZvciBpIDo9IDAgdG8gc3FyKG4pIC0xIGRvCiAgICByZWFkKGFbaV0pOwogIHJlYWRsbjsKICBpIDo9IDA7IAogIGogOj0gMDsKICBrIDo9IDE7IAogIHBvbSA6PSAxOwp3aGlsZSAoaSA8IG4pIGRvIGJlZ2luCiAgICB3aGlsZSAoaiA8IGspIGRvIGJlZ2luCiAgICAgIHdyaXRlbG4oYVtpICogbiArIGpdKTsKICAgICAgaiA6PSBqICsgMTsKICAgIGVuZDsKICAgIGkgOj0gaSArIDE7IGogOj0gMDsKICAgIGlmICgocG9tID0gMSkgYW5kIChrID0gbiBkaXYgMiArIG4gbW9kIDIpKQogICAgdGhlbiBiZWdpbgogICAgICBrIDo9IG4gZGl2IDI7IHBvbSA6PSAtMTsKICAgIGVuZAogICAgZWxzZSBrIDo9IGsgKyBwb207CiAgZW5kOwplbmQuICAgIAo=