#include <stdio.h>
int main() {
int n;
scanf("%d", &n); // 输入蛇形矩阵的大小
int a[101][101] = {0}; // 初始化矩阵
int num = 1; // 从1开始填数
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) { // 奇数行从左到右填数
for (int j = 1; j <= n; j++) {
a[i][j] = num++;
}
} else { // 偶数行从右到左填数
for (int j = n; j >= 1; j--) {
a[i][j] = num++;
}
}
}
// 输出蛇形矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}