#!/bin/python3

from pprint import pprint

n = int(input())

all_set = set()

digit_maps = [{} for i in range(9)]

def fill_maps(number):
    global digit_maps
    for i in range(9):
        c = number[i]
        digit_maps[i].setdefault(c, set()).add(number)

def find_matches(question):
    global digit_maps
    ret = all_set
    for i in range(9):
        c = question[i]
        if c == '?':
            continue
        if c not in digit_maps[i]:
            return 0
        ret = ret.intersection(digit_maps[i][c])
    return len(ret)


for i in range(n):
    number = input()
    fill_maps(number)
    all_set.add(number)

q = int(input())

for i in range(q):
    question = input()
    if '*' in question:
        a, b, c = question.partition('*')
        question = a + (9 - (len(question) - 1)) * '?' + c
    
    ret = find_matches(question)
    print(ret)
