Time Limit: 6000/3000 MS (Java/Others)

Memory Limit: 131072/131072 K (Java/Others)


Peter has a sequence $a_1,a_2,...,a_n$ and he define a function on the sequence -- $F(a_1,a_2,...,a_n)=(f_1,f_2,...,f_n)$, where $f_i$ is the length of the longest increasing subsequence ending with $a_i$.

Peter would like to find another sequence $b_1,b_2,...,b_n$ in such a manner that $F(a_1,a_2,...,a_n)$ equals to $F(b_1,b_2,...,b_n)$. Among all the possible sequences consisting of only positive integers, Peter wants the lexicographically smallest one.

The sequence $a_1, a_2, ..., a_n$ is lexicographically smaller than sequence $b_1, b_2, ..., b_n$, if there is such number $i$ from $1$ to $n$, that $a_k = b_k$ for $1 \le k < i$ and $a_i < b_i$.


There are multiple test cases. The first line of input contains an integer $T$, indicating the number of test cases. For each test case:

The first contains an integer $n$ $(1 \le n \le 100000)$ -- the length of the sequence. The second line contains $n$ integers $a_1,a_2,...,a_n$ $(1 \le a_i \le 10^9)$.


For each test case, output $n$ integers $b_1,b_2,...,b_n$ $(1 \le b_i \le 10^9)$ denoting the lexicographically smallest sequence.

Sample Input

3 1 10 5 5 4 3 2 1 3 1 3 5

Sample Output

1 1 1 1 1 1 1 2 3




BestCoder Round #84