← Home
write a go solution for Description:
The length of the longest common prefix of two strings s=s_1s_2ldotss_n and t=t_1t_2ldotst_m is defined as the maximum integer k (0<=k<=min(n,m)) such that s_1s_2ldotss_k equals t_1t_2ldotst_k.

Koa the Koala initially has n+1 strings s_1,s_2,...,s_n+1.

For each i (1<=i<=n) she calculated a_i — the length of the longest common prefix of s_i and s_i+1.

Several days later Koa found these numbers, but she couldn't remember the strings.

So Koa would like to find some strings s_1,s_2,...,s_n+1 which would have generated numbers a_1,a_2,...,a_n. Can you help her?

If there are many answers print any. We can show that answer always exists for the given constraints.

Input Format:
Each test contains multiple test cases. The first line contains t (1<=t<=100) — the number of test cases. Description of the test cases follows.

The first line of each test case contains a single integer n (1<=n<=100) — the number of elements in the list a.

The second line of each test case contains n integers a_1,a_2,ldots,a_n (0<=a_i<=50) — the elements of a.

It is guaranteed that the sum of n over all test cases does not exceed 100.

Output Format:
For each test case:

Output n+1 lines. In the i-th line print string s_i (1<=|s_i|<=200), consisting of lowercase Latin letters. Length of the longest common prefix of strings s_i and s_i+1 has to be equal to a_i.

If there are many answers print any. We can show that answer always exists for the given constraints.

Note:
In the 1-st test case one of the possible answers is s=[aeren,ari,arousal,around,ari].

Lengths of longest common prefixes are:

- Between colorredaeren and colorredari arrow1
- Between colorredari and colorredarousal arrow2
- Between colorredarousal and colorredaround arrow4
- Between colorredaround and colorredari arrow2. Output only the code with no comments, explanation, or additional text.