


def dots(ptt: str, dt: str):
  pttl = list(ptt)
  dtl = list(dt)
  ff = ptt.find("?")
  while ff != -1:
    pttl[ff] = dtl[ff]
    ff = ptt.find("?", ff+1)
  return pttl == dtl

def parts(ptt: str, dt: str):
  start, end = ptt.split("*")
  return dt.startswith(start) and dt.endswith(end)


old_lst_len = int(input())
old_lst = []
for i in range(old_lst_len):
  old_lst.append(input())


dam_lst_len = int(input())
for i in range(dam_lst_len):
  inp = input()
  res = []
  if "?" in inp:
    res = [dots(inp, i) for i in old_lst]
  
  if "*" in inp:
    res = [parts(inp, i) for i in old_lst]
  
  print(res.count(True))

