#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
#define MAX 70100
char seq[40], word[MAX][40];
int  cuv[MAX], i, fr1[256], fr2[256], dr;

bool cmp(int a, int b)
{
    return strcmp(word[a], word[b])<0;
}


int main()
{
    int t, x, j;
    cin>>seq;
    for(i=0;seq[i];i++)
    {
        fr1[seq[i]]++;
    }
    cin>>t;
    for(i=1;i<=t;i++)
    {
        cin>>word[i];
        x=1;
        for(j=0;word[i][j];j++)
        {
            fr2[word[i][j]]++;
            if(fr2[word[i][j]]>fr1[word[i][j]])
                x=0;
        }
        for(j=0;word[i][j];j++)
        {
            fr2[word[i][j]]--;
        }
        if(x)
            cuv[++dr]=i;
    }
    sort(cuv+1, cuv+dr+1, cmp);
    for(i=1;i<=dr;i++)
    {
        cout<<word[cuv[i]]<<"\n";
    }
    return 0;
}