var a:array[1..150,1..150]of word;
i,j,n,k:longint;
f:text;
procedure inmt; {in ma trận}
begin
for j:=1 to n do
begin
for i:=1 to n do write(f,a[i,j]:6);
writeln(f);
end;
end;
procedure chon; {chọn số vào ô}
begin
inc(k);
a[i,j]:=k;
end;
begin
readln(n);
assign(f,'123.txt');rewrite(f);
j:=1;
while k<n*n do
begin
for i:=j to n+1-j do chon; {sang phải}
for j:=n+2-i to i do chon; {xuống dưới}
for i:=j-1 downto n+1-j do chon; {sang trái}
for j:=n-i downto i+1 do chon; {lên trên}
end;
inmt;
close(f);
end.