#include<bits/stdc++.h>
using namespace std;
int main(){
  int n;
  while(cin>>n,n){
    string s[n+1];
    getline(cin,s[0]);
    for(int i=0;i<n;i++)getline(cin,s[i]);
    cin>>s[n];
    int pp=0;
    map<string,int>m;
    for(int i=0;i<n;i++){
      string t;
      for(int j=0;j<s[i].size();j++){
        if(s[i][j]!=' '&&s[i][j]!='\n')t+=s[i][j];
        else{
          if(t[0]==s[n][0]){
            pp=max(pp,(int)t.size());
            m[t]++;
            t="";
          }
          t="";
        }
          if(j==s[i].size()-1){
            if(!isalpha(t[t.size()-1]))t.erase(t.end()-1);
            if(t[0]==s[n][0]){
            pp=max(pp,(int)t.size());
            m[t]++;
            t="";
          }
        }
      }
    }
    vector<pair<int,string> >v;
    for(map<string,int>::iterator i=m.begin();i!=m.end();i++){
      string t=(*i).first,tt;
      int r=(*i).second,o=(int)t.size()-pp;
      while((int)t.size()<pp)t=t+'@';//cout<<t<<endl;
      v.push_back(make_pair(-r,t));
    }
    sort(v.begin(),v.end());

    //stable_sort(v1.begin(),v1.end());
    if(v.size()==0)cout<<"NA";
    else for(int i=0,k=0;i<v.size();i++,k++){
      if(k==5)break;
      if(i)cout<<' ';
      for(int j=0;j<v[i].second.size();j++)
        if(v[i].second[j]!='@')cout<<v[i].second[j];
    }
    cout<<endl;
  }
}