from collections import OrderedDict
import sys
sys.setrecursionlimit(3000)
def hash_map(word_map, words):
for word in words:
if word[0] not in word_map:
word_map[word[0]] = []
word_map[word[0]].append(word)
def recursions(word_map, paswd, output, remember):
flag = 0
if len(paswd) == 0:
return 1
if paswd in remember:
return flag
for char in paswd:
for word in (word_map[char] if char in word_map else []):
if paswd.startswith(word):
output.append(word + " ")
if recursions(word_map, paswd[len(word):], output, remember):
return 1
output.pop()
remember[paswd] = 1
return flag
n = int(input())
for p in range(n):
k = int(input())
words = input().split()
paswd = input()
words.sort(key = lambda s: len(s), reverse=True)
word_map = OrderedDict()
hash_map(word_map, words)
output = []
pp = recursions(word_map, paswd, output, {})
if pp:
print("".join(output))
else:
print("WRONG PASSWORD")
ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QKaW1wb3J0IHN5cwoKc3lzLnNldHJlY3Vyc2lvbmxpbWl0KDMwMDApCgpkZWYgaGFzaF9tYXAod29yZF9tYXAsIHdvcmRzKToKICAgIGZvciB3b3JkIGluIHdvcmRzOgogICAgICAgIGlmIHdvcmRbMF0gbm90IGluIHdvcmRfbWFwOgogICAgICAgICAgICB3b3JkX21hcFt3b3JkWzBdXSA9IFtdCiAgICAgICAgd29yZF9tYXBbd29yZFswXV0uYXBwZW5kKHdvcmQpCgpkZWYgcmVjdXJzaW9ucyh3b3JkX21hcCwgcGFzd2QsIG91dHB1dCwgcmVtZW1iZXIpOgogICAgZmxhZyA9IDAKICAgIGlmIGxlbihwYXN3ZCkgPT0gMDoKICAgICAgICByZXR1cm4gMQogICAgaWYgcGFzd2QgaW4gcmVtZW1iZXI6CiAgICAgICAgcmV0dXJuIGZsYWcKICAgIGZvciBjaGFyIGluIHBhc3dkOgogICAgICAgIGZvciB3b3JkIGluICh3b3JkX21hcFtjaGFyXSBpZiBjaGFyIGluIHdvcmRfbWFwIGVsc2UgW10pOgogICAgICAgICAgICBpZiBwYXN3ZC5zdGFydHN3aXRoKHdvcmQpOgogICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCh3b3JkICsgIiAiKQogICAgICAgICAgICAgICAgaWYgcmVjdXJzaW9ucyh3b3JkX21hcCwgcGFzd2RbbGVuKHdvcmQpOl0sIG91dHB1dCwgcmVtZW1iZXIpOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICAgICBvdXRwdXQucG9wKCkKICAgICAgICByZW1lbWJlcltwYXN3ZF0gPSAxCiAgICByZXR1cm4gZmxhZwogICAgICAgICAgICAKbiA9IGludChpbnB1dCgpKQpmb3IgcCBpbiByYW5nZShuKToKICAgIGsgPSBpbnQoaW5wdXQoKSkKICAgIHdvcmRzID0gaW5wdXQoKS5zcGxpdCgpCiAgICBwYXN3ZCA9IGlucHV0KCkKICAgIHdvcmRzLnNvcnQoa2V5ID0gbGFtYmRhIHM6IGxlbihzKSwgcmV2ZXJzZT1UcnVlKQogICAgd29yZF9tYXAgPSBPcmRlcmVkRGljdCgpCiAgICBoYXNoX21hcCh3b3JkX21hcCwgd29yZHMpCiAgICBvdXRwdXQgPSBbXSAgIAogICAgcHAgPSByZWN1cnNpb25zKHdvcmRfbWFwLCBwYXN3ZCwgb3V0cHV0LCB7fSkKICAgIGlmIHBwOgogICAgICAgIHByaW50KCIiLmpvaW4ob3V0cHV0KSkKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIldST05HIFBBU1NXT1JEIik=