var k,n,left,right,up,down,i,j:integer;
a:array[1..100,1..100] of integer;
begin
readln(n);
k:=0;i:=1;j:=1;
left:=1;right:=n;up:=1;down:=n;
while k<n*n do
begin
for i:=left to right do
begin
inc(k);
a[j,i]:=k;
end;
up:=up+1;
for j:=up to down do
begin
inc(k);
a[j,i]:=k;
end;
right:=right-1;
for i:=right downto left do
begin
inc(k);
a[j,i]:=k;
end;
down:=down-1;
for j:=down downto up do
begin
k:=k+1;
a[j,i]:=k;
end;
left:=left+1;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.