#include "stdio.h"
#include "string.h"
#include "stdlib.h"
int main()
{
int low,hi,N,j,i;//定义N为要输入的整数,low为旋转的圈数,
int a[80][80];
while(scanf("%d",&N))//输入N得值来循环。
{
low=0;
hi=N;
for(j=1;j<N*(N+1)/2(以N为只计算出要输出的个数);low++,hi--)//将所有应该的数得出并按照一定顺序储存在数组中,
{
for(i=low;i<hi-low;i++)
a[low][i]=j++;//来计算第一行的数值。
for(i=low+1;i<hi-low;i++)
a[i][hi-i-1]=j++;//由右上到左下,以i的变化来边行,hi-low-1变为某一列。
for(i=hi-low-2;i>low;i--)
a[i][low]=j++;//由下至上 最后一个以得出随意数组中减2。
}
for(i=0;i<N;i++)
{
for(j=0;j<N-i;j++)//输出上三角。
{
printf("%4d "a[i][j])
}
printf("\n");
}
}
return 0;
}