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

using namespace std;

int alph[30], num;
char result[MAX_L][MAX_LENGTH];

int main()
{
    int n, i, count, ok;
    char seq[MAX_LENGTH], word[MAX_LENGTH], j, *x, aux[MAX_LENGTH];
    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 = 'a' ; j <= 'z' ; j++)
        {
            count = 0;
            x = strchr(word, j);
            while(x)
            {
                count++;
                x = strchr(x + 1, j);
            }
            if(count > alph[j - 'a'])
                ok = 0;
        }
        if(ok == 1)
            strcpy(result[num++], word);
    }
    do
    {
        ok = 1;
        for(i = 0 ; i < num - 1 ; i++)
            if(strcmp(result[i], result[i+1]) > 0)
            {
                strcpy(aux, result[i]);
                strcpy(result[i], result[i+1]);
                strcpy(result[i+1], aux);
                ok = 0;
            }
    }while(ok == 0);
    for(i = 0 ; i < num ; i++)
        cout << result[i] << "\n";
    return 0;
}