/* Elizabeth Kemp

 * LaSalle Academy

 * INT-3 DIV

 * ACSL - Contest 22 - The Next Generation */

 

import java.util.Scanner;

import java.io.*;

public class TNGKempy

{

            public static void main(String [] args)

            {

                        Scanner reader = new Scanner(System.in);

                        boolean Grid[][] = new boolean[9][9];

                        int numalive = reader.nextInt(), row = 0, column = 0, numneigh = 0;

                        boolean flag = false;

                       

                        for (int i = 0; i < numalive; i++)

                        {

                                    row = reader.nextInt();

                                    column = reader.nextInt();

                                    Grid[row][column] = true;

                        }

                       

                        int numarules = reader.nextInt();

                        int aliverules[] = new int[numarules];

                        for (int j = 0; j < numarules; j++)

                        aliverules[j] = reader.nextInt();

                       

                        int numsrules = reader.nextInt();

                        int survivalrules[] = new int[numsrules];

                        for (int k = 0; k < numsrules; k++)

                        survivalrules[k] = reader.nextInt();

                       

                        for (int l = 0; l < 5; l++)

                        {

                                    row = reader.nextInt();

                                    column = reader.nextInt();

                                    numneigh = 0;

                                    flag = false;

                                    if (Grid[row][column]) System.out.print("A,");

                                    else System.out.print("D,");

                                   

                                    if (Grid[row - 1][column - 1]) numneigh++;

                                    if (Grid[row - 1][column]) numneigh++;

                                    if (Grid[row - 1][column + 1]) numneigh++;

                                    if (Grid[row][column - 1]) numneigh++;

                                    if (Grid[row][column + 1]) numneigh++;

                                    if (Grid[row + 1][column - 1]) numneigh++;

                                    if (Grid[row + 1][column]) numneigh++;

                                    if (Grid[row + 1][column + 1]) numneigh++;

                                    System.out.print(numneigh + ",");

 

                                    if (!Grid[row][column])

                                                for (int m = 0; m < numarules; m++)

                                                            if (numneigh == aliverules[m])

                                                            {

                                                                        System.out.println("A");

                                                                        flag = true;

                                                                        break;

                                                            }

                                   

                                    if (Grid[row][column])

                                                for (int n = 0; n < numsrules; n++)

                                                            if (numneigh == survivalrules[n])

                                                            {

                                                                        System.out.println("A");

                                                                        flag = true;

                                                                        break;

                                                            }

                                    if (!flag) System.out.println("D");

                        }

            }

}