import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Scanner;

public class Earthquake {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //System.out.println(1000000000);
        int countOld = scanner.nextInt();
        scanner.nextLine();
        char[][] old = new char[countOld][9];
        for (int i = 0; i < countOld; i++) {
            String tmp = scanner.nextLine();
            old[i] = tmp.toCharArray();
        }
        int countDamaged = scanner.nextInt();
        scanner.nextLine();
        char[][] damaged = new char[countDamaged][9];
        for (int i = 0; i < countDamaged; i++) {
            String tmp = scanner.nextLine();
            damaged[i] = tmp.toCharArray();
        }


        for (int i = 0; i < countDamaged; i++) {
            if (damaged[i].length != 9) {
                char[] vymen = new char[9];

                boolean found = false;
                int zaciatok = 0;
                for (int j = 0; j < 9; j++) {
                    if (found) {
                        vymen[j] = '*';
                    } else {
                        if (damaged[i][j] != '*') {
                            vymen[j] = damaged[i][j];
                        } else {
                            vymen[j] = '*';
                            found = true;
                            zaciatok = j;
                        }
                    }

                }

                for (int j = 9 - (damaged[i].length - zaciatok - 1); j < 9; j++) {
                    vymen[j] = damaged[i][zaciatok + 1];
                    zaciatok++;
                }

                damaged[i] = vymen;
            }
        }

        ArrayList<char[]> naPorovnanie = new ArrayList<>();
        for (int j = 0; j < countOld; j++) {
            naPorovnanie.add(old[j]);
        }

        for (int i = 0; i < countDamaged; i++) {
            ArrayList<char[]> naPorovnanieNew = new ArrayList<>(naPorovnanie);
            // j = stlpec
            for (int j = 0; j < damaged[i].length; j++) {
                char porovnaj = damaged[i][j];

                for (int k = 0; k < naPorovnanieNew.size(); k++) {
                    char tmp = naPorovnanieNew.get(k)[j];
                    if (porovnaj == '?') {
                        continue;
                    } else if (porovnaj == '*') {
                        continue;
                    } else if (tmp != porovnaj) {
                        naPorovnanieNew.remove(k);
                    }
                }

            }
            System.out.println(naPorovnanieNew.size());
        }

    }
}
