#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,a[50],i,j,m,b[50],ok;
char s[50];
struct sir
{
    int i;
    char c[50];
} t[70005];
bool cmp(sir a,sir b)
{
    return strcmp(a.c,b.c)<0;
}
int main()
{
    //freopen("test.in","r",stdin);
    //freopen("test.out","w",stdout);
    scanf("%s",s+1); n=strlen(s+1);
    for(i=1;i<=n;i++) a[s[i]-'a']++;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%s",t[i].c);
        t[i].i=i;
    }
    sort(t+1,t+n+1,cmp);
    for(i=1;i<=n;i++)
    {
        memset(b,0,sizeof(b));
        m=strlen(t[i].c); ok=1;
        for(j=0;j<m;j++) b[t[i].c[j]-'a']++;
        for(j=0;j<26;j++) if(b[j]>a[j]) {ok=0; break;}
        if(ok) printf("%s\n",t[i].c);
    }
    return 0;
}