There is a sequence S=(s1,s2,…,sn) made up of n distinct integers. It is a permutation that uses each integer from 1 to n exactly once, so si=sj for every i=j and 1≤si≤n.
From S we can build a new sequence R=(r1,r2,…,rn), where ri is the number of elements among those that come before si, namely {s1,s2,…,si−1}, that are smaller than si.
For example, if n=10 and S=(6,4,3,5,1,2,7,8,9,10), then R=(0,0,0,2,0,1,6,7,8,9).
Given a sequence R, write a program that recovers the original sequence S. If an S corresponding to R exists, it is uniquely determined, but for some inputs no such S exists. For example, if n=5 and R=(0,2,2,0,1), then no S corresponds to this R.
Input is read from standard input. The first line contains the number of test cases T. Each test case consists of two lines: the first line contains the length of the sequence n (1≤n≤100), and the second line contains the n integers r1,r2,…,rn of the sequence R, separated by spaces.
For each test case, print the sequence S corresponding to the given R on one line, with its numbers separated by spaces. If S cannot be recovered from R, print IMPOSSIBLE on that line instead.