#include <stdio.h>
//2차원배열 이제그만!!!
int main()
{
int arr[105][105]={};
int a,j=0,i,l,b,c=0,dir=0;
scanf("%d",&a);
i=a-1;
j=0;
for (l=1;l<=15;l++)
{
arr[i][j]=l;
// printf("w%d\n",arr[i][j]);
if(dir==0) // 오,위
{
// printf ("be %dj:%di:%d\n",l,j,i);
if (j==a-1)
{
dir=1;
i++;
}
else
{
i--;
j++;
}
}else if (dir==1)
{
if (i==0) //answp(2)
{
dir=0;
j++;
}
else
{
i++;
j--;
printf ("%d\n",l);
}
}
// printf ("af %dj:%di:%d\n",l,j,i);
// printf ("%d %d\n",i,j);
}
for (i=0;i<a;i++)
{
for (j=0;j<a;j++)
{
printf ("%d ",arr[i][j]);
}printf ("\n");
}
return 0;
}



