#include #include #include #include #define MAX_LENGTH 35 #define MAX_L 70005 using namespace std; int alph[30], cpy[30], num; vector v; int main() { int n, i, count, ok; char seq[MAX_LENGTH], word[MAX_LENGTH], j; cin >> seq; for(i = 0 ; i < strlen(seq) ; i++) alph[seq[i] - 'a']++; cin >> n; for(i = 0 ; i < n ; i++) { cin >> word; ok = 1; for(j = 0 ; j <= 26 ; j++) cpy[j] = alph[j]; for(count = 0 ; count < strlen(word) ; count++) if(cpy[word[count] - 'a'] == 0) ok = 0; else cpy[word[count] - 'a']--; if(ok == 1) { v.push_back(word); num++; } } sort(v.begin(), v.end()); for(i = 0 ; i < num ; i++) cout << v[i] << "\n"; return 0; }