#include <stdio.h>
void generateSnakeMatrix(int N)
{
int matrix[N][N];
int num = 1;
// 填充蛇形矩阵
for (int i = 0; i < N; i++)
{
int row = i;
int col = 0;
while (row >= 0)
{
matrix[row][col] = num++;
row--;
col++;
}
}
// 输出蛇形矩阵
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N - i; j++)
{
printf("%d", matrix[i][j]);
if (j < N - i - 1)
{
printf(" ");
}
}
printf("\n");
}
}
int main()
{
int N;
// 循环处理多组数据
while (scanf("%d", &N) != EOF)
{
generateSnakeMatrix(N);
}
return 0;
}