import sys

# 读取输入字符串并按空格分割成列表
# 示例输入: "3 abc cba bac xyz 2" → ['3', 'abc', 'cba', 'bac', 'xyz', '2']
question_list = list(map(str, input().split(' ')))

# 获取第一个元素作为n,表示需要检查的单词数量
n = int(question_list[0])

# 获取倒数第二个元素作为x,这是我们要比较的目标单词
x = question_list[-2]

# 获取最后一个元素作为k,表示要输出的第k个符合条件的单词
k = int(question_list[-1])

# 计数器,记录符合条件的单词数量
count = 0

# 存储所有符合条件的单词
final_list = []

# 遍历需要检查的单词部分(从第1个元素到倒数第3个元素)
for i in range(1, len(question_list)-2):
    # 当前要检查的单词
    compare_list1 = question_list[i]
    # 当前单词的字母排序后的列表
    compare_list2 = sorted(question_list[i])
    # 目标单词x的字母排序后的列表
    compare_question_list2 = sorted(question_list[-2])
    
    # 检查当前单词和目标单词x的字母组成是否相同(是否是字母异位词)
    if ''.join(compare_list2) == ''.join(compare_question_list2):
        # 检查当前单词是否与目标单词x本身不同
        if ''.join(compare_list1) != question_list[-2]:
            # 符合条件的单词加入结果列表
            final_list.append(question_list[i])
            count += 1

# 输出结果判断
if count == 0 or count < k:  
    # 如果没有符合条件的单词或k超出范围,只输出数量
    print(count)
else:
    # 否则先输出数量
    print(count)
    # 对结果列表按字典序排序
    final_list.sort()
    # 输出第k个符合条件的单词(注意列表索引从0开始)
    print(final_list[k-1])