CF1927B.Following the String

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Following the String

Polycarp lost the string ss of length nn consisting of lowercase Latin letters, but he still has its trace.

The trace of the string ss is an array aa of nn integers, where aia_i is the number of such indices jj (j<ij \lt i) that si=sjs_i=s_j. For example, the trace of the string abracadabra is the array [0,0,0,1,0,2,0,3,1,1,40, 0, 0, 1, 0, 2, 0, 3, 1, 1, 4].

Given a trace of a string, find any string ss from which it could have been obtained. The string ss should consist only of lowercase Latin letters a-z.

Input

The first line of the input contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases. Then the descriptions of the test cases follow.

The first line of each test case contains a single integer nn (1n21051 \le n \le 2 \cdot 10^5) — the length of the lost string.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \dots, a_n (0ai<n0 \le a_i \lt n) — the trace of the string. It is guaranteed that for the given trace, there exists a suitable string ss.

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, output a string ss that corresponds to the given trace. If there are multiple such strings ss, then output any of them.

The string ss should consist of lowercase Latin letters a-z.

It is guaranteed that for each test case, a valid answer exists.

Samples

5
11
0 0 0 1 0 2 0 3 1 1 4
10
0 0 0 0 0 1 0 1 1 0
1
0
8
0 1 2 3 4 5 6 7
8
0 0 0 0 0 0 0 0
abracadabra
codeforces
a
aaaaaaaa
dijkstra

在线编程 IDE

建议全屏模式获得最佳体验