/*
#include <stdio.h>
int main()
{
int i, j, arr[10][10];
int x = 1, y = 1;
//--------------------------------- scanf
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
scanf("%d", &arr[i][j]);
}
}
if(arr[x][y] == 2)
{
arr[x][y] = 9;
}
else
{
arr[x][y] = 9;
for (;;)
{
if(arr[x][y+1] == 0)
{
y++;
arr[x][y] = 9;
}
else if(arr[x][y+1] == 2)
{
y++;
arr[x][y] = 9;
break;
}
else // 1
{
if(arr[x+1][y] == 0)
{
x++;
arr[x][y] = 9;
}
else if(arr[x+1][y] == 2)
{
x++;
arr[x][y] = 9;
break;
}
else
{
break;
}
}
}
}
//--------------------------------- printf
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
*/
//oh my god!!!!
/*
#include<stdio.h>
int main(helloImKimmingyu)
{
int i, j, n, arr[100][100];
int k = 1;
scanf("%d", &n);
for(i=n-1; i>=0; i--)
{
if(i%2==0) //++
{
for(j=n-1; j>=0; j--)
{
arr[i][j] = k++;
}
}
else if(i%2!=0)
{
for(j=0; j<n; j++)
{
arr[i][j] = k++;
}
}
}
for(i=n-1; i>=0; i--)
{
for(j=n-1; j>=0; j--)
{
printf("%d ", arr[j][i]);
}
printf("\n");
}
return 0;
}
*/
/*
1 6 7
2 5 8
3 4 9
1 2 3
6 5 4
7 8 9
*/
#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");
}
}



