#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;
}