#include <iostream>
#include <cstring>
#include <algorithm>
#define max 70000
using namespace std;

char sequence[30], word[30], dict[70000][30];
int freq_seq[26], freq_word[26];
int n, k;

void compute_freq(char x[], int freq[])
{
    int length = strlen(x);
    for(int i = 0; i < length; i++)
        freq[x[i]-'a']++;
}

bool compare(int x[], int y[])
{
    for(int i = 0; i < 26; i++)
        if(x[i] < y[i])
            return false;
    return true;
}

void zero_all_the_way()
{
    memset(word, 0, sizeof(word));
    memset(freq_word, 0, sizeof(freq_word));
}
void citire()
{
    cin >> sequence >> n;
    compute_freq(sequence, freq_seq);
    while(n--)
    {
        cin >> word;
        compute_freq(word, freq_word);
        if(compare(freq_seq, freq_word) == true)
            strcpy(dict[k++], word);
        zero_all_the_way();
    }
}


void afisare()
{
    for(int i = 0; i < k-1; i++)
        for(int j = i+1; j < k; j++)
            if(strcmp(dict[i], dict[j]) > 0)
                swap(dict[i], dict[j]);
    for(int i = 0; i < k; i++)
        cout << dict[i] << endl;
}
int main()
{
    citire();
    afisare();
    return 0;
}