/*
#include <stdio.h>
int main()
{
int map[9][9]={}, i, j, ii, jj, r, c, n=0;
for(i=0; i<9; i++)
{
for(j=0; j<9; j++)
{
scanf("%d", &map[i][j]);
}
}
scanf("%d %d", &r, &c);
r=r-1;
c=c-1;
for(i=-1; i<=1; i++)
{
for(j=-1; j<=1; j++)
{
ii=i;
jj=j;
if(r+i<0)
{
}
else if(c+j<0)
{
}
else if(r+i>8)
{
}
else if(c+j>8)
{
}
else if(map[r+i][c+j]==1)
{
n=n+1;
}
i=ii;
j=jj;
}
}
if(map[r][c]==1)
{
printf("-1");
return 0;
}
else
{
printf("%d", n);
}
}
*/
#include <stdio.h>
int main()
{
int map[50][50], i, j, n, a=1, b=1, c=1;
scanf("%d", &n);
a=2;
b=1;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
map[a%n][b%n]=c++;
if(j==n-1)
{
a=a+n-1;
}
else
{
a=a+1;
b=b+n-1;
}
}
}
for(i=n-1; i>=0; i--)
{
for(j=n-1; j>=0; j--)
{
printf("%d ", map[i][j]);
}
printf("\n");
}
}