#include <bits/stdc++.h>
using namespace std;
namespace CP {
const long long INF = 9223372036854775807;
const int MOD = 1e9 + 7;
string ts(int n) { return to_string(n); }
string ts(double n) { return to_string(n); }
string ts(long double n) { return to_string(n); }
string ts(long long n) { return to_string(n); }
string ts(char c) { return to_string(c); }
string ts(bool b) { return b ? "true" : "false"; }
string ts(string s) { return s; }
template <typename T, typename V>
string ts(pair<T, V> p) {
  return "{" + ts(p.first) + ", " + ts(p.second) + "}";
}
template <typename T>
string ts(T arr[], int len) {
  ostringstream oss;
  oss << "[";
  string delim = "";
  for (int i = 0; i < len; i++) {
    oss << delim << ts(arr[i]);
    delim = ", ";
  }
  oss << "]";
  return oss.str();
}
template <typename Container>
string ts(const Container &v) {
  ostringstream oss;
  oss << "[";
  string delim = "";
  for (const auto &x : v) {
    oss << delim << ts(x);
    delim = ", ";
  }
  oss << "]";
  return oss.str();
}
template <typename T, typename V>
string ts(map<T, V> m) {
  ostringstream oss;
  oss << "[";
  string delim = "";
  for (pair<T, V> p : m) {
    oss << delim;
    oss << "{" << p.first << ": " << p.second << "}";
    delim = ", ";
  }
  oss << "]";
  return oss.str();
}
void setI(string s) { freopen(s.c_str(), "r", stdin); }
void setO(string s) { freopen(s.c_str(), "w", stdout); }
void setIO(string s1, string s2) {
  setI(s1);
  setO(s2);
}
void setUsacoIO(string s) { setIO(s + ".in", s + ".out"); }
}  // namespace CP
using namespace CP;
void solve() {
  int n;
  cin >> n;
  int arr[n];
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  const string def(50, 'a');
  vector<string> ret;
  ret.push_back(def);
  for (int i = 1; i < n + 1; i++) {
    string s = ret.back();
    for (int j = arr[i - 1]; j < (int)s.length(); j++) {
      s[j] = (s[j] == 'z' ? 'a' : s[j] + 1);
    }
    ret.push_back(s);
  }
  for (const string &s : ret) {
    cout << s << '\n';
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    solve();
  }
  return 0;
}
