#include <cstdio>
#include <iostream>
#include <string>
#include <algorithm>
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;
}