import re

#class Node:
#    def __init__(self):
#        self.children = {}


N = int(input())
correct = []
for _ in range(N):
    correct.append(input())

dicts = {}
for num in correct:
    current = dicts
    for i, digit in enumerate(num):
        if i != len(num) - 1:
            if digit not in current:
                current[digit] = {}
            current = current[digit]
        else:
            current[digit] = True
#print(dicts)

def recursive(current_damaged, current_dict):
    if len(current_damaged) == 0:
        return 1
    result = 0
    current = current_damaged.pop()
    if current == "?":
        for x in current_dict:
            result += recursive(current_damaged[:], current_dict[x])
    else:
        if current in current_dict:
            result += recursive(current_damaged[:], current_dict[current])

    return result
    

Q = int(input())
for _ in range(Q):
    damaged = input()
    damaged = damaged.replace("*", "?" * (9 - len(damaged) + 1))
    damaged = list(damaged)
    damaged.reverse()

    print(recursive(damaged[:], dicts))