编程题
### 问题描述
定义一个字符串的第 $i$ 个后缀为这个字符串从第 $i$ 个字符开始的后缀。例如字符串 `baca` 的第 $1$ 个后缀为 `baca`,第 $2$ 个后缀为 `aca`,第 $3$ 个后缀为 `ca`,第 $4$ 个后缀为 `a`。
定义一个字符串的后缀数组 $a$ 满足:将这个字符串的所有后缀按照字典序从小到大排序。由于一个字符串的所后缀长度均不同,所以任意两个后缀的字典序一定不同,即排序一定有唯一的结果。对于任意的 $1 \leq i \leq n$,如果排序后在第 $i$ 个位置上的后缀为第 $a_i$ 个后缀,则认为 $a$ 为这个字符串的后缀数组。
例如:将字符串 `baca` 的所有后缀按字典序从小到大排序,得到的结果为 `a`,`aca`,`baca`,`ca`。位于第 $1,2,3,4$ 个位置上的后缀分别为第 $4,2,1,3$ 个后缀,所以字符串 `baca` 的后缀数组为 $(4,2,1,3)$。
现在给定一个长为 $n$ 的数组 $a$,构造一个长为 $n$ 的只包含小写字母的字符串使这个字符串的后缀数组刚好为 $a$。如果有多个满足要求的字符串,输出字典序最小的字符串。如果不存在满足要求的字符串,输出 $-1$。
### 输入格式
输入包含多组数据。
输入第一行包含一个正整数 $T$,表示测试组数。
对于每组测试,第一行包含一个整数 $n$,表示数组 $a$ 和你需要构造的字符串的长度。
第二行包含 $n$ 个整数 $a_1,a_2, \cdots ,a_n$,表示数组 $a$。
### 输出格式
对于每组测试,如果存在满足要求的字符串,输出字典序最小的长为 $n$ 的只包含小写字母的字符串,使得这个字符串的后缀数组刚好为 $a$。如果不存在满足要求的字符串,输出 $-1$。
### 样例输入
```text
2
4
4 2 1 3
3
1 1 1
```
### 样例输出
```text
baca
-1
```
### 说明
对于第一组测试,字符串 `baca` 的后缀数组为 $(4,2,1,3)$。可以证明不存在使字符串字典序更小的构造方式。
对于第二组测试,因为一个字符串每个后缀在排序后的结果中只出现一次,所以一个字符串的后缀数组中每个数至多出现一次。但这组测试中数组 $a$ 中存在 $3$ 个 $1$,所以可以得出数组 $a$ 不为任意一个字符串的后缀数组。
### 评测数据规模
对于 $20$% 的评测数据,$1\leq n \leq 1000$。
对于 $100$% 的评测数据,$1\leq T \leq 10$,$1\leq n \leq 10^5$,$1 \leq a_i \leq n$。