/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static class TrieNode {
boolean isEow;
TrieNode children[];
TrieNode() {
children=new TrieNode[26];
}
}
static class TrieFunctions {
private TrieNode insert(TrieNode r,int idx,char w[]) {
if(r==null) {
r=new TrieNode();
}
if (idx == w.length) {
r.isEow = true;
return r;
}
char ch=w[idx];
r.children[ch-'a']=insert(r.children[ch-'a'],idx+1,w);
return r;
}
void insert(TrieNode r,char w[]) {
r=insert(r,0,w);
}
private void print
(TrieNode r,
String word
) { if (r.isEow)
for (int i = 0; i < 26; i++) {
if (r.children[i] != null) {
print(r.children[i], word + (char) (i + 'a'));
}
}
}
void printAllWords(TrieNode r) {
print(r, "");
}
}
{
// your code goes here
Scanner sc
= new Scanner
(System.
in); int t = sc.nextInt();
while(t-- != 0){
TrieNode r = new TrieNode();
TrieFunctions tf = new TrieFunctions();
int n = sc.nextInt();
while(n-- != 0){
tf.insert(r, s.toCharArray());
}
tf.printAllWords(r);
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXN0YXRpYyBjbGFzcyBUcmllTm9kZSB7CgkJYm9vbGVhbiBpc0VvdzsKCQlUcmllTm9kZSBjaGlsZHJlbltdOwoJCVRyaWVOb2RlKCkgewoJCQljaGlsZHJlbj1uZXcgVHJpZU5vZGVbMjZdOwoJCX0KCX0KCXN0YXRpYyBjbGFzcyBUcmllRnVuY3Rpb25zIHsKCQlwcml2YXRlIFRyaWVOb2RlIGluc2VydChUcmllTm9kZSByLGludCBpZHgsY2hhciB3W10pIHsKCQkJaWYocj09bnVsbCkgewoJCQkJcj1uZXcgVHJpZU5vZGUoKTsKCQkJfQoJCQlpZiAoaWR4ID09IHcubGVuZ3RoKSB7CiAgICAgICAgCQlyLmlzRW93ID0gdHJ1ZTsKICAgICAgICAJCXJldHVybiByOwoJCSAgICB9CgkJCWNoYXIgY2g9d1tpZHhdOwoJCQlyLmNoaWxkcmVuW2NoLSdhJ109aW5zZXJ0KHIuY2hpbGRyZW5bY2gtJ2EnXSxpZHgrMSx3KTsKCQkJcmV0dXJuIHI7CgkJfQoJCXZvaWQgaW5zZXJ0KFRyaWVOb2RlIHIsY2hhciB3W10pIHsKCQkJcj1pbnNlcnQociwwLHcpOwoJCX0KCQlwcml2YXRlIHZvaWQgcHJpbnQoVHJpZU5vZGUgciwgU3RyaW5nIHdvcmQpIHsKICAgICAgICAgICAgaWYgKHIuaXNFb3cpCiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4od29yZCk7CgogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDI2OyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChyLmNoaWxkcmVuW2ldICE9IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICBwcmludChyLmNoaWxkcmVuW2ldLCB3b3JkICsgKGNoYXIpIChpICsgJ2EnKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZvaWQgcHJpbnRBbGxXb3JkcyhUcmllTm9kZSByKSB7CiAgICAgICAgICAgIHByaW50KHIsICIiKTsKICAgICAgICB9Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJaW50IHQgPSBzYy5uZXh0SW50KCk7CgkJd2hpbGUodC0tICE9IDApewoJCQlUcmllTm9kZSByID0gbmV3IFRyaWVOb2RlKCk7CgkJCVRyaWVGdW5jdGlvbnMgdGYgPSBuZXcgVHJpZUZ1bmN0aW9ucygpOwoJCQlpbnQgbiA9IHNjLm5leHRJbnQoKTsKCQkJd2hpbGUobi0tICE9IDApewoJCQkJU3RyaW5nIHMgPSBzYy5uZXh0KCk7CgkJCQl0Zi5pbnNlcnQociwgcy50b0NoYXJBcnJheSgpKTsKCQkJfQoJCQl0Zi5wcmludEFsbFdvcmRzKHIpOwoJCX0KCX0KfQ==