#include #include #include #include using namespace std; string sequence, words[70000]; int seqFrecv[26], N, len; bool fit(string s){ int frecv[26] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; int len = s.length(); for(int i = 0; i < len; i++){ frecv[s[i]-'a']++; } for(int i = 0; i < 26; i++){ if(frecv[i] > seqFrecv[i]) return false; }return true; } int main(){ //freopen("baruri.in", "r", stdin); cin >> sequence; len = sequence.length(); for(int i = 0; i < len; i++){ seqFrecv[sequence[i]-'a']++; } cin >> N; for(int i = 0; i < N; i++){ cin >> words[i]; }sort(words, words + N); for(int i = 0; i < N; i++){ if(fit(words[i])) cout << words[i] << "\n"; } return 0; }