import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        ArrayList<String> list = new ArrayList<>(n);
        for (int i = 0; i < n; i++) {
            list.add(scanner.next());
        }
        // 字串
        String string = scanner.next();
        // 位置
        int k = scanner.nextInt();
        char[] x = string.toCharArray();
        Arrays.sort(x);

        ArrayList<String> xdList = new ArrayList<>();

        for (String dict : list) {
            // 如果是一样的则不算兄弟单词
            if (string.equals(dict)) {
                continue;
            }
            char[] dictCharArray = dict.toCharArray();
            Arrays.sort(dictCharArray);
            if (new String(dictCharArray).equals(new String(x))) {
                xdList.add(dict);
            }
        }
        // 对兄弟单词排序
        Collections.sort(xdList);

        if (xdList.size() >= k) {
            System.out.println(xdList.size());
            // 注意是k-1,因为数组下标是从0开始的
            System.out.println(xdList.get(k - 1));
        } else {
            System.out.println(xdList.size());
        }
    }



}