using System;

namespace transfuzija_krvi
{
    class Program
    {
        static void Main(string[] args)
        {
            bool ok = true;
            int N = int.Parse(Console.ReadLine());
            string[] s = Console.ReadLine().Split();
            int O = int.Parse(s[0]);
            int A = int.Parse(s[1]);
            int B = int.Parse(s[2]);
            int AB = int.Parse(s[3]);
            string[] a = new string[N];
            int[] b = new int[N];
            int[,] M = new int[N, 4];
            for (int i = 0; i < N; i++)
            {
                s = Console.ReadLine().Split();
                a[i] = s[0];
                b[i] = int.Parse(s[1]);
            }
            for (int i = 0; i < N; i++)
            {
                if (a[i] == "O")
                {
                    if (O >= b[i])
                    {
                        O -= b[i];
                        M[i, 0] = b[i];
                        b[i] = 0;
                    }
                    else
                        ok = false;
                }
                else if (a[i] == "A")
                {
                    if (A >= b[i])
                    {
                        A -= b[i];
                        M[i, 1] = b[i];
                        b[i] = 0;
                    }
                    else if (A >= 0 && A < b[i])
                    {
                        b[i] -= A;
                        M[i, 1] = A;
                        A = 0;
                        if (O >= b[i])
                        {
                            O -= b[i];
                            M[i, 0] = b[i];
                            b[i] = 0;
                        }
                        else
                            ok = false;
                    }
                    else if (O > b[i] && A == 0)
                    {
                        O -= b[i];
                        M[i, 0] = b[i];
                        b[i] = 0;
                    }
                    else
                        ok = false;
                }
                else if (a[i] == "B")
                {
                    if (B >= b[i])
                    {
                        B -= b[i];
                        M[i, 2] = b[i];
                    }
                    else if (B >= 0 && B < b[i])
                    {
                        b[i] -= B;
                        M[i, 2] = B;
                        B = 0;
                        if (O >= b[i])
                        {
                            O -= b[i];
                            M[i, 0] = b[i];
                        }
                        else
                            ok = false;
                    }
                    else if (O > b[i] && B == 0)
                    {
                        O -= b[i];
                        M[i, 0] = b[i];
                    }
                    else
                        ok = false;
                }
                else if (a[i] == "AB")
                {
                    if (AB >= b[i])
                    {
                        AB -= b[i];
                        M[i, 3] = b[i];
                    }
                    else if (AB >= 0)
                    {
                        b[i] -= AB;
                        M[i, 3] = AB;
                        AB = 0;

                        if (O >= b[i] || A >= b[i] || B >= b[i])
                        {
                            if (O >= b[i])
                            {
                                O -= b[i];
                                M[i, 0] = b[i];
                            }
                            else if (A >= b[i])
                            {
                                A -= b[i];
                                M[i, 1] = b[i];
                            }
                            else if (B >= b[i])
                            {
                                B -= b[i];
                                M[i, 2] = b[i];
                            }

                        }

                        if (b[i] > 0 && A > 0)
                        {
                            for (int x = 0; x < A; x++)
                            {
                                b[i] -= 1;
                                A -= 1;
                            }
                            M[i, 1] = b[i];
                        }
                        if (b[i] > 0 && O > 0)
                        {
                            for (int x = 0; x < O; x++)
                            {
                                b[i] -= 1;
                                O -= 1;
                            }
                            M[i, 0] = b[i];
                        }
                        if (b[i] > 0 && B > 0)
                        {
                            for (int x = 0; x < B; x++)
                            {
                                b[i] -= 1;
                                B -= 1;
                            }
                            M[i, 2] = b[i];
                        }
                    }
                }
            }
                if (ok)
            {
                Console.WriteLine("moguce");
                for (int i = 0; i < N; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        Console.Write(M[i, j] + " ");
                    }
                    Console.WriteLine();
                }
            }
            else
                Console.WriteLine("nemoguce");
        }
    }
}