//  NAME            :   Ben Mehne

//  DIVISION        :   Senior-3

//  PROBLEM ID      :   ACSL #3 Senet

//  SCHOOL          :   Kalamazoo AMSC

 

import java.io.*;

import java.util.*;

 

public class SeniorSenet

{

 

    public static void main(String[] args) throws IOException

    {

        // Use BufferedReader rather than RandomAccessFile; it's much faster

        BufferedReader inp = new BufferedReader(

                new InputStreamReader(System.in));

 

 

        //output

        PrintWriter out = new PrintWriter(new BufferedWriter(

                new OutputStreamWriter(System.out)));

 

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

        {

            //Write Code

            SenetPiece[] map = new SenetPiece[30], map2;

            StringTokenizer stk;// = new StringTokenizer(inp.readLine(), ", ");

            int temp, temp2;

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

            {

                stk = new StringTokenizer(inp.readLine(), ", ");

                temp2 = Integer.parseInt(stk.nextToken());

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

                {

                    temp = Integer.parseInt(stk.nextToken());

                    map[temp - 1] = new SenetPiece(temp, k + 1);

                }

            }

            stk = new StringTokenizer(inp.readLine(), ", ");

            boolean done;

            SenetPiece[] temps = new SenetPiece[2];

            SenetPiece tempss = new SenetPiece(-1,-1);

            while (stk.hasMoreTokens())

            {

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

                {

                    done = false;

                    temp2 = Integer.parseInt(stk.nextToken());

                    map2 = copy(map);

                    for (int i = 29; i >= 0; i--)

                    {

                        if(map[i] == null)

                            continue;

                        //System.out.println("\t\t"+i + " "+ map[i].getColor()+ " " + map[i].getPlace());

                        //if(map2[i]!= null)

                        //System.out.println("\t\t"+i + " "+ map2[i].getColor() + " " + map2[i].getPlace());

                        if (map[i].getColor() == k + 1)

                        {

                            if(k == 1 && temps[0].getPlace() != 31)

                                tempss = map2[temps[0].getPlace()-1];

                            temps[k] = map2[i];

                            //System.out.println("\tb "+ temps[k].getPlace() + " " + (k+1));

                            move(temps[k], temp2, map2);

                            if (temps[k].hasMoved())

                            {

                                //System.out.println("\t"+ temps[k].getPlace() + " " + (k+1));

                                if(k == 1 && temps[0].getPlace() != 31)

                                    temps[0] = tempss;

                                done = true;

                                break;

                            }

                        }

                        map2 = copy(map);

                    }

 

                    map = map2;

                    if (!done)

                        System.out.print("NO VALID MOVES");

                }

                System.out.println(temps[0].getState()+","+temps[1].getState());

            }

        }

 

        out.close();

    }

 

    private static SenetPiece[] copy (SenetPiece[] map)

    {

        SenetPiece[] ret = new SenetPiece[map.length];

        for(int i = 0; i < map.length; i++)

        {

            if(map[i]!= null)

            ret[i] = map[i].getCopy();

        }

        return ret;

    }

 

    private static void move(SenetPiece piece, int moves, SenetPiece[] map)

    {

        SenetPiece temp;

        if (piece.getPlace() + moves < 26)

        {

 

            if (map[piece.getPlace() - 1 + moves] != null && map[piece.getPlace() - 1 + moves].getColor() == piece.getColor())

            {

                //System.out.println("???"+ (piece.getPlace() - 1 + moves));

                piece.cantMove();

                return;

            }

 

            temp = map[piece.getPlace() - 1 + moves];

            map[piece.getPlace() - 1 + moves] = map[piece.getPlace() - 1];

            map[piece.getPlace() - 1] = temp;

            if (temp != null)

                temp.setPlace(piece.getPlace());

            piece.setPlace(piece.getPlace() + moves);

        }

        else if (piece.getPlace() < 26)

        {

            if (map[25] != null && map[25].getColor() == piece.getColor())

            {

                piece.cantMove();

                return;

            }

 

            temp = map[25];

            map[25] = map[piece.getPlace() - 1];

            map[piece.getPlace() - 1] = temp;

            if (temp != null)

                temp.setPlace(piece.getPlace());

            piece.setPlace(26);

        }

        else if (piece.getPlace() > 27 || piece.getPlace() + moves == 31)

            if (piece.getPlace() + moves == 31)

            {

                //System.out.println("dfd");

                map[piece.getPlace() - 1] = null;

                piece.setPlace(31);

                piece.done();

            }

            else if (piece.getPlace() + moves > 31 || piece.getPlace()+moves == 30 && map[29]!= null)

                piece.cantMove();

            else

            {

                if (map[piece.getPlace() - 1 + moves] != null && map[piece.getPlace() - 1 + moves].getColor() == piece.getColor())

                {

                    piece.cantMove();

                    return;

                }

                temp = map[piece.getPlace() - 1 + moves];

                map[piece.getPlace() - 1 + moves] = map[piece.getPlace() - 1];

                map[piece.getPlace() - 1] = temp;

                if (temp != null)

                    temp.setPlace(piece.getPlace());

                piece.setPlace(piece.getPlace() + moves);

            }

        else if (piece.getPlace() == 26)

            if (moves != 1)

            {

                if (map[piece.getPlace() - 1 + moves] != null && map[piece.getPlace() - 1 + moves].getColor() == piece.getColor())

                {

                    piece.cantMove();

                    return;

                }

                temp = map[piece.getPlace() - 1 + moves];

                map[piece.getPlace() - 1 + moves] = map[piece.getPlace() - 1];

                map[piece.getPlace() - 1] = temp;

                if (temp != null)

                    temp.setPlace(piece.getPlace());

                piece.setPlace(piece.getPlace() + moves);

            }

            else if (map[26] != null && map[26].getColor() == piece.getColor())

            {// 27 is taken

                piece.cantMove();

            }

            else if (map[14] != null && map[14].getColor() == piece.getColor()) //cant go to 15

            {

                temp = map[26];

                map[26] = map[piece.getPlace() - 1];

                map[piece.getPlace() - 1] = temp;

                if (temp != null)

                    temp.setPlace(piece.getPlace());

                piece.setPlace(27);

            }

            else if (map[14] != null) // plce 15 has opposite color

            {

                temp = map[26];

                map[26] = map[piece.getPlace() - 1];

                map[piece.getPlace() - 1] = temp;

                if (temp != null)

                    temp.setPlace(piece.getPlace());

                piece.setPlace(27);

 

                map[26] = map[14];

                map[14] = piece;

                map[26].setPlace(27);

                map[14].setPlace(15);

            }

            else // place 15 is empty

            {

                // switch 27 & 26

                temp = map[26];

                map[26] = map[piece.getPlace() - 1];

                map[piece.getPlace() - 1] = temp;

                if (temp != null)

                    temp.setPlace(piece.getPlace());

                piece.setPlace(27);

               

                // switch 27 && 15

                temp = map[14];

                map[14] = map[piece.getPlace() - 1];

                map[piece.getPlace() - 1] = temp;

                if (temp != null)

                    temp.setPlace(piece.getPlace());

                piece.setPlace(15);

 

            }

    }

}