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")