CF-gym-334-A

Gerald has n younger brothers and their number happens to be even. One day he bought n2 candy bags. One bag has one candy, one bag has two candies, one bag has three candies and so on. In fact, for each integer k from 1 to n2 he has exactly one bag with k candies.
Help him give n bags of candies to each brother so that all brothers got the same number of candies.

Input

The single line contains a single integer n (n is even, 2 ≤ n ≤ 100) — the number of Gerald’s brothers.

Output

Let’s assume that Gerald indexes his brothers with numbers from 1 to n. You need to print n lines, on the i-th line print n integers — the numbers of candies in the bags for the i-th brother. Naturally, all these numbers should be distinct and be within limits from 1 to n2. You can print the numbers in the lines in any order.
It is guaranteed that the solution exists at the given limits.

Examples

Input

2

Output

1 4
2 3
n2n^2个盒子分别有11~n2n^2个糖果,分别发给nn个人
如何使每个人得到的都一样?
输出每个人拿到的盒子的编号,多种答案输出任意一个

n=5n=5为例

这种分配方式刚好可以使每个人都一样
nn没限制
突然发现的规律 - 这就是数学之美吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int main()
{
int n;
cin >> n;
int a[100][100];
int k = 1;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i][j] = k++;
}
}
k = 0;
for (int i = 0; i < n; i++)
{
k = i;
for (int j = 0; j < n; j++)
{
cout << a[k][j]<<' ';
k--;
if (k < 0)
k += n;
}
cout << endl;
}
}