#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n,n) //一直输入n,只要n不等于0
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
int up=i,down=n-i+1,left=j,right=n-j+1; //分别定义到上下左右四个边的距离
cout<<min(min(up,down),min(left,right))<<' '; //比较出上下那个短,左右那个短,两项再比较求出最短的就是到边界的最短距离。是1就输出1,是2就输出2。每个数字输出后有空格
}
cout<<endl; //每行的回车
}
cout<<endl; //当前n完成平方矩阵后的回车
}
return 0;
}