import sys


def get_coffee(number):
    numbers = []
    # only one strain
    for ind in range(len(number)):
        numbers.append(number[:ind] + "?" + number[ind + 1:])
    # two strains
    for first in range(len(number)):
        for second in range(first + 1, len(number)):
            if first != second:
                tmp = number[:first] + "?" + number[first + 1:]
                numbers.append(tmp[:second] + "?" + tmp[second + 1:])
    return numbers


def get_juice(number):
    numbers = []
    for start in range(len(number)):
        for end in range(start + 1, len(number) + 1):
            numbers.append(number[:start] + "*" * (end - start) + number[end:])
    return numbers


if __name__ == '__main__':
    old = dict()

    N = int(sys.stdin.readline().strip("\n"))
    for i in range(N):
        number = sys.stdin.readline().strip("\n")
        for combination in [number, *get_coffee(number), *get_juice(number)]:
            previous = old[combination] if combination in old else 0
            old[combination] = previous + 1
    Q = int(sys.stdin.readline().strip("\n"))
    for i in range(Q):
        number = sys.stdin.readline().strip("\n")
        number = number.replace("*", (9-len(number)+1) * "*")
        print(old[number] if number in old else 0)
