Let's call a permutation $p$ of length $n$ anti-Fibonacci if the condition $p_{i-2} + p_{i-1} \ne p_i$ holds for all $i$ ($3 \le i \le n$). Recall that the permutation is the array of length $n$ which contains each integer from $1$ to $n$ exactly once.

Your task is for a given number $n$ print $n$ distinct anti-Fibonacci permutations of length $n$.


-----Input-----

The first line contains a single integer $t$ ($1 \le t \le 48$) — the number of test cases.

The single line of each test case contains a single integer $n$ ($3 \le n \le 50$).


-----Output-----

For each test case, print $n$ lines. Each line should contain an anti-Fibonacci permutation of length $n$. In each test case, you cannot print any permutation more than once.

If there are multiple answers, print any of them. It can be shown that it is always possible to find $n$ different anti-Fibonacci permutations of size $n$ under the constraints of the problem.


-----Examples-----

Input
2
4
3
Output
4 1 3 2
1 2 4 3
3 4 1 2
2 4 1 3
3 2 1
1 3 2
3 1 2


-----Note-----

None

Difficulty: EASY

Solutions:
def readLineToInts():
	return [int(item) for item in input().split()]
tn = readLineToInts()[0]
for ti in range(tn):
	n = readLineToInts()[0]
	for i in range(n):
		curans = ([j + 1 for j in range(n) if j != i] + [i + 1])[::-1]
		print(' '.join([str(x) for x in curans]))


for _ in range(int(input())):
	a = int(input())
	lst = [i + 1 for i in range(a)]
	res = []
	for i in lst:
		pl = str(i)
		for c in lst[:i - 1:-1]:
			pl += ' ' + str(c)
		if i != 1:
			for c in lst[i - 2::-1]:
				pl += ' ' + str(c)
		res.append(pl)
	print(*res, sep='\n')


for _ in range(int(input())):
	n = int(input())
	p = list(range(1, n + 1))
	for i in range(0, n):
		x = p.copy()
		del x[i]
		print(p[i], *sorted(x, reverse=True))