velky_slovnik = [
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []},
    {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: [], 8: [], 9: []}
]

result = 0

for l in range(1, int(input()) + 1):
    k = (input())
    for i in range(9):
        velky_slovnik[i][int(k[i])].append(l)

for m in range(1, int(input()) + 1):
    h = input()
    k = []
    n = list()
    s = 0
    for i in range(len(h)):
        if h[i] == "?":
            pass

        elif h[i] == "*":
            h.replace("*", "?" * (9 - len(h) - 1))

        else:
            if s == 0:
                n = velky_slovnik[i][int(h[i])]
                s = 1
            else:
                if len(velky_slovnik[i][int(h[i])])==0:
                    print(0)
                    break
                filter(lambda asdf: asdf in velky_slovnik[i][int(h[i])], n)
    else:
        print(len(n))


# 2
# 123456789
# 123456987
# 1
# 123*

# 2
# 728147956
# 606327482
# 1
# 622629145