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))) 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