You are given an array $a_1, a_2, \dots , a_n$. Array is good if for each pair of indexes $i < j$ the condition $j - a_j \ne i - a_i$ holds. Can you shuffle this array so that it becomes good? To shuffle an array means to reorder its elements arbitrarily (leaving the initial order is also an option).

For example, if $a = [1, 1, 3, 5]$, then shuffled arrays $[1, 3, 5, 1]$, $[3, 5, 1, 1]$ and $[5, 3, 1, 1]$ are good, but shuffled arrays $[3, 1, 5, 1]$, $[1, 1, 3, 5]$ and $[1, 1, 5, 3]$ aren't.

It's guaranteed that it's always possible to shuffle an array to meet this condition.


-----Input-----

The first line contains one integer $t$ ($1 \le t \le 100$) — the number of test cases.

The first line of each test case contains one integer $n$ ($1 \le n \le 100$) — the length of array $a$.

The second line of each test case contains $n$ integers $a_1, a_2, \dots , a_n$ ($1 \le a_i \le 100$).


-----Output-----

For each test case print the shuffled version of the array $a$ which is good.


-----Example-----
Input
3
1
7
4
1 1 3 5
6
3 2 1 5 6 4

Output
7
1 5 1 3
2 4 6 1 3 5

Difficulty: interview

Starter code:

Solutions:
q = int(input())
for irweewr in range(q):
	n = int(input())
	l = list(map(int,input().split()))
	l.sort()
	l.reverse()
	print(*l)

t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int,input().split()))
    print(*sorted(a)[::-1])


import sys
import math
import itertools
import functools
import collections
import operator
import fileinput
import copy


ORDA = 97
def ii(): return int(input())
def mi(): return list(map(int, input().split()))
def li(): return list(map(int, input().split()))
def lcm(a, b): return abs(a * b) // math.gcd(a, b)
def revn(n): return str(n)[::-1]
def dd(): return collections.defaultdict(int)
def ddl(): return collections.defaultdict(list)
def sieve(n):
    if n < 2: return list()
    prime = [True for _ in range(n + 1)]
    p = 3
    while p * p <= n:
        if prime[p]:
            for i in range(p * 2, n + 1, p):
                prime[i] = False
        p += 2
    r = [2]
    for p in range(3, n + 1, 2):
        if prime[p]:
            r.append(p)
    return r
def divs(n, start=1):
    r = []
    for i in range(start, int(math.sqrt(n) + 1)):
        if (n % i == 0):
            if (n / i == i):
                r.append(i)
            else:
                r.extend([i, n // i])
    return r
def divn(n, primes):
    divs_number = 1
    for i in primes:
        if n == 1:
            return divs_number
        t = 1
        while n % i == 0:
            t += 1
            n //= i
        divs_number *= t
def prime(n):
    if n == 2: return True
    if n % 2 == 0 or n <= 1: return False
    sqr = int(math.sqrt(n)) + 1
    for d in range(3, sqr, 2):
        if n % d == 0: return False
    return True
def convn(number, base):
    newnumber = 0
    while number > 0:
        newnumber += number % base
        number //= base
    return newnumber
def cdiv(n, k): return n // k + (n % k != 0)


for _ in range(ii()):
    n = ii()
    a = li()
    a.sort(reverse=True)
    print(*a)


t = int(input())
for i in range(t):
	n = int(input())
	mas = list(map(int, input().split()))
	mas.sort()
	mas.reverse()
	print(*mas)


from sys import stdin

for testcase in range(int(stdin.readline())):
    stdin.readline()
    print(*reversed(sorted(map(int, stdin.readline().split()))))




for _ in range(int(input())):
	n=int(input())
	a=list(map(int,input().split()))
	a=sorted(a)
	a=a[::-1]
	print(*a)

import sys

# inf = open('input.txt', 'r')
# reader = (line.rstrip() for line in inf)
reader = (line.rstrip() for line in sys.stdin)
input = reader.__next__

t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    a.sort(reverse=True)
    print(*a)

# inf.close()


from sys import stdin,stdout                           #
import math                                            #
import heapq                                           #
                                                       #
t = 1                                                  #
def aint():                                            #
	return int(input().strip())                        #
def lint():                                            #
	return list(map(int,input().split()))              #
def fint():                                            #
	return list(map(int,stdin.readline().split()))     #
                                                       #	
########################################################

def main():
	n=aint()
	l=lint()
	l.sort()
	l=l[::-1]
	print(*l)

t=int(input())

########################################################
for i in range(t):                                     #
	main()                                             #

t = int(input())
for tt in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	a = a[::-1]
	print(*a)

import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
  n = int(input())
  a = list(map(int,input().split()))
  a.sort(reverse=True)
  print(' '.join(map(str,a)))

t = int(input())
for _ in range(t):
	n = int(input())
	a= list(map(int, input().split()))
	a.sort(reverse=True)
	print(" ".join([str(item) for item in a]))

tests = int(input())
while tests:
  n = int(input())
  arr = list(map(int, input().split()))
  arr.sort()
  arr.reverse()
  for i in range(n):
    print(arr[i], end=' ')
  print()
  tests -= 1

import sys
input = sys.stdin.readline

t=int(input())
for tests in range(t):
    n=int(input())
    A=list(map(int,input().split()))
    print(*sorted(A,reverse=True))