def fun(ls,x,y,start,n):
if n==0:#例如4圈刚好转2轮,n=0
return 0
if n==1:#1个元素或只剩1个元素
ls[x][y]=start
return 0
#0,0起一轮,接着1,1起,2,2起...
for j in range(n):#列++
ls[x][y+j]=start
start+=1
for i in range(n-1):#行++
ls[x+1+i][y+n-1]=start #0~n-2+1=n-1
start+=1
for j in range(n-1):#列--
ls[x+n-1][y+n-2-j]=start # n-2~n-2-(n-2)=0
start+=1
for i in range(n-2):#行--
ls[x+n-2-i][y]=start
start+=1
fun(ls,x+1,y+1,start,n-2)#每一轮左右少两个,上下少两个,规模往里缩两圈
n=int(input())
ls=[[0]*n for i in range(n)]
fun(ls,0,0,1,n)
fw=open("file.out","w")
for i in ls:
for j in i:
fw.write("%5d"%(j))
fw.write("\n")
fw.close()