import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);


        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String curLine = in.nextLine();

            String[] strAry = curLine.split(" ");


            int count = Integer.parseInt(strAry[0]);
            String[] ary = new String[count];

            for (int i = 1; i <= count; i++) {
                ary[i - 1] =  strAry[i];
            }

            String x = strAry[count + 1];

            int k = Integer.parseInt(strAry[count + 2]);
            brotherWord(ary, x, k);
        }


    }

    private static void brotherWord(String[] words, String x, int k) {

        if (x == null || "".equals(x) || words == null || words.length == 0 || k < 0 ||
                k > words.length) {
            System.out.println(0);
            System.out.println("");
            return;
        }

        char[] xAry = x.toCharArray();

        Map<Character, Integer> xMap = new HashMap<>();
        for (int i = 0; i < xAry.length; i++) {
            xMap.put(xAry[i], xMap.getOrDefault(xAry[i], 0) + 1);
        }

        List<String> resList = new ArrayList<>();
        for (int i = 0; i < words.length; i++) {
            String s = words[i];
            if (s.equals(x) || s.length() != x.length()) {
                continue;
            }

            if (isBrotherWord(s, xMap)) {
                resList.add(s);
            }
        }


        if (resList.isEmpty()) {
            System.out.println(0);
            System.out.println();
        } else {
            Collections.sort(resList);
            System.out.println(resList.size());
            if (k - 1 >= resList.size() || k - 1 < 0) {
                System.out.println();
            } else {
                System.out.println(resList.get(k - 1));
            }
        }
    }
    /**
     * 交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。
	 * 换种思路,其实只要每个字符出现的次数一样就可以了
     *
     * @param s
     * @param xMap
     * @return
     */
    private static boolean isBrotherWord(String s, Map<Character, Integer> xMap) {

        char[] sAry = s.toCharArray();
        Map<Character, Integer> sMap = new HashMap<>();
        List<Character> keys = new ArrayList<>();
        for (int i = 0; i < sAry.length; i++) {
            sMap.put(sAry[i], sMap.getOrDefault(sAry[i], 0) + 1);
            if (!keys.contains(sAry[i])) {
                keys.add(sAry[i]);
            }
        }

        for (int i = 0; i < keys.size(); i++) {
            char cur = keys.get(i);
            if (!Objects.equals(sMap.get(cur), xMap.get(cur))) {
                return false;
            }
        }

        return true;
    }
}