#include <iostream> #include <cstring> #include <string> #include <vector> #include <algorithm> using namespace std; string *p,sec,s,*pp; vector <string>S; int i,v[30],V[40],n,ok,j; bool crit(string a ,string b) { return a<b; } int main() { cin>>sec; for(i=0;i<sec.size();i++) V[sec[i]-'a']++; cin>>n; for(j=1;j<=n;j++) { cin>>s; for(i=0;i<30;i++) v[i]=0; ok=1; for(i=0;i<s.size();i++) { v[s[i]-'a']++; if(v[s[i]-'a']>V[s[i]-'a']) { ok=0; break; } } if(ok) S.push_back(s); } sort(S.begin(),S.end()); for(vector <string>::iterator it=S.begin();it!=S.end();it++) cout<<*it<<'\n'; return 0; }