s=raw_input("")
n=int(input(""))
a=[]
b=[]
for i in range(0,27):
    a.append(0)
    b.append(0)
for i in s:
    a[ord(i)-ord('a')]=a[ord(i)-ord('a')]+1
founded=[]
for i in range(0,n):
    word=raw_input("")
    for j in word:
        b[ord(j)-ord('a')]=b[ord(j)-ord('a')]+1
    ok=True
    for i in range(0,27):
        if b[i]>a[i]:
            ok=False
    if ok:
        founded.append(word)
    for i in range(0,27):
        b[i]=0
founded=sorted(founded)
for i in founded:
    print i