import java.util.*;

public class Main{
    public static void main(String[] arg){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNextLine()){
            String[] strs =sc.nextLine().split(" ");
            Integer N = Integer.parseInt(strs[0]);
            String voi = strs[N+1];
            Integer k = Integer.parseInt(strs[N+2]);

            List<String> list = new ArrayList<>();

            for(int i=0; i<N; i++){

                //找出兄弟单词并放入list中
                boolean flag=false;
                String str = strs[i+1];

                //排完序后一样就是兄弟单词
                char[] c1 = str.toCharArray();
                char[] c2 = voi.toCharArray();
                if(c1.length!=c2.length){
                    continue;
                }
                Arrays.sort(c1);
                Arrays.sort(c2);

                for(int j = 0; j< c1.length;j++){
                    if(c1[j]!=c2[j]){
                        flag=true;
                    }
                }

                if(!flag&&voi.length()==str.length()&&(!(voi.equals(str)))){
                    list.add(str);
                }
            }

            //对list排序以找到第k个
            Collections.sort(list,(a,b)->a.compareTo(b));
            System.out.println(list.size());
            for(int i=0;i<list.size();i++){
//                 System.out.print(list.get(k-1)+"     ");
            }
            if(list.size()>=k){
                System.out.println(list.get(k-1));
            }
        }

    }
}