/*#include <stdio.h>
#include <string.h>
int main()
{
char arr[101], brr[101];
int i;
scanf("%s", arr);
scanf("%s", brr);
if(strlen(arr)<strlen(brr))
{
printf("%s %s", arr, brr);
}
else if(strlen(arr)>strlen(brr))
{
printf("%s %s", brr, arr);
}
else
{
for(i=0;brr[i]!=NULL;i++)
{
if(arr[i]<brr[i])
{
printf("%s %s", arr, brr);
break;
}
else if(arr[i]>brr[i])
{
printf("%s %s", brr, arr);
break;
}
}
}
return 0;
}*/
/*#include <stdio.h>
#include <string.h>
int main()
{
char arr[21], brr[21], crr[21];
scanf("%s%s%s", arr, brr, crr);
if(arr[strlen(arr)-1]==brr[0]&&brr[strlen(brr)-1]==crr[0]&&crr[strlen(crr)-1]==arr[0])
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}
#include <stdio.h>
int main()
{
int arr[3][4]={};
int i, j, k=1;
for(j=0;j<4;j++)
{
for(i=2;i>=0;i--)
{
arr[i][j]=k;
k++;
}
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*#include <stdio.h>
int main()
{
int arr[100][100]={};
int n, i, j, k=1;
scanf("%d", &n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
arr[i][j]=k;;
k++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}*/
#include <stdio.h>
int main()
{
int arr[100][100];
int n, i, j, k=1;
scanf("%d", &n);
for(i=0;i<n;i++)
{
for(j=n-1;j>=0;j--)
{
arr[i][j]=k;
k++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}