#include <bits/stdc++.h>
#define PB push_back
#define MP make_pair
using namespace std;
typedef long long ll;
struct data{
	int cnt;string str;
	data(int a,string b):cnt(a),str(b){}
	data(){}
	bool operator<(const data&d)const{
		if(cnt!=d.cnt)return cnt>d.cnt;
		return str<d.str;
	}
};
int main(){
	int n;
	while(cin>>n&&n){
		map<string,int> dat;
		string s;
		cin.ignore();
		for(int i=0;i<n;i++){
			getline(cin,s);
			stringstream ss(s);
			while(ss>>s){
				dat[s]++;
			}
		}
		vector<data> ans[26];
		map<string,int>::iterator it;
		for(it=dat.begin();it!=dat.end();it++){
			string s=it->first;
			ans[s[0]-'a'].PB(data(it->second,s));
		}
		for(int i=0;i<26;i++)sort(ans[i].begin(),ans[i].end());
		char r;
		cin>>r;
		if(ans[r-'a'].size()==0)cout<<"NA"<<endl;
		else{
			for(int i=0;i<min(5,(int)ans[r-'a'].size());i++){
				if(i)cout<<" ";
				cout<<ans[r-'a'][i].str;
			}
			cout<<endl;
		}
	}
}