public class Main{
public static boolean ifbro(String s, String test){
//相同返回false
if(s.equals(test))return false;
if(test.length()!=s.length())return false;
char[] sarray=s.toCharArray();
char[] testarray=test.toCharArray();
//两个array排序,完全相等返回ture.
Arrays.sort(sarray);
Arrays.sort(testarray);
int j=0;
for(Character i:sarray){
if(i!=testarray[j++]){
return false;
}
}
return true;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine()){
String whole=sc.nextLine();
//记录字符串个数n
int n=0;
for(int i=0;i<whole.length();i++){
if(whole.charAt(i)==' ')break;
n=n*10+whole.charAt(i)-'0';
}
//创建string列表,存储输入
String[] tests=new String[n+1];
for(int i=Integer.toString(n).length()+1,j=0;i<whole.length()-2;i++){
Character temp=whole.charAt(i);
if(temp==' '){
j++;
if(j>n)break;
}
else{
if(tests[j]==null)tests[j]="";
tests[j]+=temp.toString();
}
}
int k=whole.charAt(whole.length()-1)-'0';
int ans=0;
//逐个对比string列表是否是兄弟单词
for(int i=0;i<=n;i++){
if(ifbro(tests[n],tests[i])){
ans++;
}
else{
//给不是兄弟单词的开头添加字符‘~’,排序时放在最后
tests[i]="~"+tests[i];
}
}
Arrays.sort(tests);
System.out.println(ans);
//k小于ans时才存在
if(k<=ans){
System.out.println(tests[k-1]);
}
}
}
}