import java.util.*;

public class Main {

    public static void main(String args[]) {
        String[] s = new Scanner(System.in).nextLine().split(" ");
        int nums = Integer.parseInt(s[0]);
        String str = s[s.length - 2];
        int index = Integer.parseInt(s[s.length - 1]);
        List<String> list = new ArrayList<>();
        for (int i = 1; i < s.length - 2; i++) {
            if (isBrother(s[i], str))
                list.add(s[i]);
        }
        String[] array = new String[list.size()];
        list.toArray(array);
        array = radixSort(array, str.length());
        System.out.println(array.length);
        if(index<array.length)
            System.out.println(array[index - 1]);

    }

    public static boolean isBrother(String s1, String s2) {
        if(s1.equals(s2)||s1.length()!=s2.length())
            return false;
        int[] cNums = new int[26];
        for (char c : s1.toCharArray())
            cNums[c - 97]++;
        for (char c : s2.toCharArray())
            cNums[c - 97]--;
        for (int i : cNums)
            if (i != 0)
                return false;
        return true;
    }

    public static String[] radixSort(String[] arr, int digits) {
        for (int i = digits - 1; i >= 0; i--)
            arr = countingSort(arr, i);
        return arr;
    }

    public static String[] countingSort(String[] arr, int index) {
        String[] arr_ = new String[arr.length];
        int[] c = new int[26];
        for (String s : arr)
            c[s.charAt(index) - 97]++;
        for (int i = 1; i < c.length; i++)
            c[i] = c[i] + c[i - 1];
        for (int i = arr.length - 1; i >= 0; i--) {
            arr_[c[arr[i].charAt(index) - 97] - 1] = arr[i];
            c[arr[i].charAt(index) - 97]--;
        }
        return arr_;
    }


}
判断是否相等挺简单的,首先判断是不是完全一样或者长度不一样,遇到这两种情况直接false就行
然后再通过分别遍历来比较,只要两个字符串的每个字母的数量都相同,就可以true
排序的话,用radix排序结合counting排序就行。就是从最低位到最高位逐个的进行一次counting排序就完成了。
举个例子:
对204,541,321,531,234,这五个数排序
可以先排最低位个位
变成541,321,531,204,234
然后再排十位
变成204,321,531,234,541
最后排百位
变成204,234,321,531,541