#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#define MAX_LENGTH 35
#define MAX_L 70005

using namespace std;

int alph[30], cpy[30], num;
vector <string> 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;
}