import sys

ln = sys.stdin.readline()
cnt = int(ln.rstrip())


ind = {}

def addToInd(s, no):
    global ind
    cur = ind
    for ch in s:
        if ch not in cur:
            cur[ch] = {}
        cur = cur[ch]
    cur['cnt'] = cur.get('cnt', 0) + 1

for i in range(0, cnt):
    no = sys.stdin.readline().rstrip()
    noi = int(no)
    #print(noi)
    addToInd(no, noi)

#print(ind)

#print('\nf:\n')

def countFilt(ind, f):
    if len(f) < 1:
        return ind['cnt']
    if f[0] == '?':
        cnt = 0
        for v in ind.values():
            cnt += countFilt(v, f[1:])
        return cnt
    elif f[0] in ind:
        return countFilt(ind[f[0]], f[1:])
    else:
        return 0

def makeFil(s):
    p = s.find('*')
    if p>-1:
        return s[:p]+('?'*(10-len(s)))+s[p+1:]
    return s

ln = sys.stdin.readline()
cnt = int(ln.rstrip())

for i in range(0, cnt):
    filt = sys.stdin.readline().rstrip()
    #print(filt)
    filt = makeFil(filt)
    #print(filt)
    print(countFilt(ind, filt))
