def dfs(index):
if index == len(target):
res.append(''.join(temp))
return
for i in range(len(target)):
if visit[i]:
visit[i] = False
temp[index] = target[i]
dfs(index + 1)
visit[i] = True
while True:
try:
string = input().strip().split(' ')
n = int(string[0])
lst = string[1:1 + n]
target = string[-2]
k = int(string[-1])
temp = [''] * len(target)
res = []
visit = [True] * len(target)
dfs(0)
check = []
for i in lst:
if (i in res) and (i != target):
check.append(i)
check = sorted(check)
print(len(check))
if k <= len(check):
print(check[k - 1])
except:
break