/*
#include<stdio.h>
int main()
{
int arr[100]={};
int i,n;
scanf("%d",&n);
if(n==0){
printf("0");
return 0;
}
for(i=0;;i++) {
arr[i] = n%2;
if(n==0) {
break;
}
n=n/2;
}
for(--i; i>=0; i--) {
printf("%d", arr[i]);
}
}
*/
/*
#include<stdio.h>
int main()
{
int a[10000000]={};
int i,n;
scanf("%d",&n);
for(i=0; i<n; i++){
scanf("%d",&a[i]);
}
for()
}
*/
/*
#include<stdio.h>
int main() {
int map[100][100];
int i, j, n, k=1;
scanf("%d", &n);
for(i=0; i<n; i++) {
for(j=0; j<n; j++) {
map[i][j] = k++;
}
}
for(i=0; i<n; i++) {
for(j=0; j<n; j++) {
printf("%d(%d,%d)", map[i][j], i, j);
}
printf("\n");
}
}
*/
/*
#include<stdio.h>
int main()
{
int map[101][101];
int i,n,j,k=0;
scanf("%d",&n);
for(i=1; i<=n; i++){
for(j=n; j>=1; j--){
k++;
map[i][j]=k;
}
}
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
printf("%d ",map[i][j]);
}
printf("\n");
}
}
*/
/*
#include<stdio.h>
int main()
{
int map[101][101];
int i,n,j,k=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
k=i;
for(j=1;j<=n;j++)
{
map[i][j]=k;
k+=n;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",map[i][j]);
}
printf("\n");
}
}
*/
#include<stdio.h>
int main()
{
int map[101][101];
int i,n,j,k=1;
scanf("%d",&n);
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
map[j][i]=k++;
}
}
for(i=n-1; i>=0; i--)
{
for(j=0; j<n; j++)
{
printf("%d ",map[i][j]);
}
printf("\n");
}
}