#include <iostream> #include <list> #include <string.h> using namespace std; list <string> sol; list <string>::iterator it; int n,lit[31],aux[31]; int main() { string l; getline(cin,l); cin>>n; cin.get(); for(unsigned int i=0;i<l.size();i++) lit[l[i]-'a']++; for(int i=0;i<n;i++) { bool ok=1; string c; getline(cin,c); for(unsigned int i=0;i<l.size();i++) aux[c[i]-'a']++; for(int i=0;i<31;i++){ if(aux[i] && aux[i]>lit[i]) ok=0; aux[i]=0; } if(ok){ //char *cuv=new char[strlen(c)]; //strcpy(cuv,c); sol.push_back(c); } } sol.sort(); for(it=sol.begin();it!=sol.end();++it) cout<<*it<<endl; }