#include <bits/stdc++.h>
using namespace std;
void process(int wordsNum, int& ans, string& res){
vector<string> vecStr(wordsNum, "");
for(int i = 0; i < wordsNum; i++){
string s = "";
cin >> s;
vecStr[i] = s;
}
string word = "";
cin >> word;
int k = 0;
cin >> k;
unordered_map<string, vector<string>> m;
string w = word;
sort(w.begin(), w.end());
for(int i = 0; i < vecStr.size(); i++){
string tmp = vecStr[i];
sort(tmp.begin(), tmp.end());
if(tmp == w && vecStr[i] != word){
m[word].push_back(vecStr[i]);
//cout << vecStr[i]<<endl;
}
}
sort(m[word].begin(), m[word].end());
ans = m[word].size();
if(k < ans){ //
res = m[word][k - 1];
}
return;
}
int main(){
int wordsNum = 0;
int ans = 0;
string res = "";
while(cin >> wordsNum){
process(wordsNum, ans, res);
cout << ans << endl;
if(res != ""){ //
cout << res << endl;
}
}
return 0;
}