#include <bits/stdc++.h>
using namespace std;
long long int ar[500009], br[500009], cr[500009], tr[500009];
long long int fx[] = {-1, 1, 0, 0};
long long int fy[] = {0, 0, 1, -1};
map<long long int, long long int> mp;
vector<long long int> v;
string s, q;
struct evan {
  long long int l, r, pos;
} st[500009];
bool com(evan i1, evan i2) { return (i1.r < i2.r); }
int main() {
  long long int a, b, c, d, e, i, j, k, x, y, z, f, g, h, n, m;
  cin >> a;
  while (a--) {
    cin >> b;
    s = "";
    for (i = 1; i <= 50; i++) {
      s += 'a';
    }
    cout << s << endl;
    for (i = 1; i <= b; i++) {
      cin >> c;
      q = "";
      for (j = 0; j < c; j++) {
        cout << s[j];
        q += s[j];
      }
      for (j = c; j < 50; j++) {
        for (k = 0; k < 26; k++) {
          x = s[j] - 'a';
          if (x != k) {
            cout << char(k + 'a');
            q += char(k + 'a');
            break;
          }
        }
      }
      s = q;
      cout << endl;
    }
  }
}
