/*
#include<stdio.h>
int main()
{
int a[50][50]={};
int n,i,j,t;
scanf("%d",&n);
i=1;
j=n/2+1;
for(t=1 ; t<=n*n ; t++)
{
a[i][j]=t;
if(1<t && t%n==0)
{
i++;
}
else
{
if(i-1==0)
{
i=n;
}
else
{
i--;
}
if(j+1==n+1)
{
j=1;
}
else
{
j++;
}
}
}
for(i=1 ; i<=n ; i++)
{
for(j=1 ; j<=n ; j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int a[11][11]={};
int i,j,k,t;
for(i=1 ; i<=10 ; i++)
{
for(j=1 ; j<=10 ; j++)
{
scanf("%d",&a[i][j]);
}
}
k=2;
t=2;
while(1)
{
if(a[k][t]==2)
{
a[k][t]=9;
break;
}
a[k][t]=9;
if(a[k][t+1]!=1)
{
t++;
}
else if(a[k+1][t]!=1)
{
k++;
}
else
{
break;
}
}
for(i=1 ; i<=10 ; i++)
{
for(j=1 ; j<=10 ; j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include<stdio.h>
int main()
{
int a[100][100]={};
int i,j,n,k,t,m=0;
scanf("%d",&n);
for(i=1 ; i<=n ; i++)
{
for(j=1 ; j<=n ; j++)
{
if(i+j<=n)
{
a[i][j]=0;
}
else
{
k=n;
t=1;
while(1)
{
a[k][t]=1+m;
if(k-1!=0 && t+1!=n)
{
k--;
t++;
}
else
{
}
m++
}
}
}
}
for(i=1 ; i<=n; i++)
{
for(j=1 ; j<=n ; j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
return 0;
}