/*
#include <stdio.h>
int main() {
int h, w, n, l, d, x=0, y=0;
int li, ldi, samei;
int i, j, arr[105][105] = {};
scanf("%d %d", &h, &w);
scanf("%d", &n);
for(i=0; i<n; i++) {
scanf("%d %d %d %d", &l, &d, &x, &y);
for(samei=0; samei<h; samei++) {
if(d==0) {
if(l != 1) {
for(li=0; li<l; li++) {
arr[x][y+li] = 1;
}
}
else {
arr[x][y] = 1;
}
}
else if(d == 1) {
if(l != 1) {
for(ldi=0; ldi<l; ldi++) {
arr[x+ldi][y] = 1;
}
}
else {
arr[x][y] = 1;
}
}
}
}
for(i=1; i<=h; i++) {
for(j=1; j<=w; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include<stdio.h>
int main() {
int map[105][105] = {0};
int i, n, j, k=1;
scanf("%d", &n);
for(i=0; i<n; i++) {
if(i%2==0) {
for(j=0; j<n; j++) {
map[j][i] = k++;
}
}
else {
for(j=n-1; j>=0; 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");
}
}