using System;

namespace ConsoleApp2
{
    class Program
    {

        struct Pacijent
        {
            public string krvnaGrupa;
            public int brPotrebnihJedinica;
            public int[] nizIzlaz;
        }

        static void Main(string[] args)
        {
            int n = Convert.ToInt32(Console.ReadLine());
            string[] s = Console.ReadLine().Split();
            int O = Convert.ToInt32(s[0]);
            int A = Convert.ToInt32(s[1]);
            int B = Convert.ToInt32(s[2]);
            int AB = Convert.ToInt32(s[3]);

            Pacijent[] pacijenti = new Pacijent[n];
            for (int i = 0; i < n; i++)
            {
                s = Console.ReadLine().Split();
                pacijenti[i].krvnaGrupa = s[0];
                pacijenti[i].brPotrebnihJedinica = Convert.ToInt32(s[1]);
                pacijenti[i].nizIzlaz = new int[4];
            }

            for (int i = 0; i < pacijenti.Length; i++)
            {
                if (O < 0)
                {
                    Console.WriteLine("nemoguce");
                    return;
                }
                if (pacijenti[i].krvnaGrupa == "O")
                {
                    if (O >= pacijenti[i].brPotrebnihJedinica)
                    {
                        pacijenti[i].nizIzlaz[0] = pacijenti[i].brPotrebnihJedinica;
                        O -= pacijenti[i].nizIzlaz[0];
                    }
                    else
                    {
                        Console.WriteLine("nemoguce");
                        return;
                    }
                }
                else if (pacijenti[i].krvnaGrupa == "A")
                {
                    if (A >= pacijenti[i].brPotrebnihJedinica)
                    {
                        A -= pacijenti[i].brPotrebnihJedinica;
                        pacijenti[i].nizIzlaz[1] = pacijenti[i].brPotrebnihJedinica;
                    }
                    else
                    {
                        pacijenti[i].nizIzlaz[1] = A;
                        pacijenti[i].nizIzlaz[0] = pacijenti[i].brPotrebnihJedinica - A;
                        O -= pacijenti[i].brPotrebnihJedinica - A;
                        A = 0;
                    }
                }
                else if (pacijenti[i].krvnaGrupa == "B")
                {
                    if (B >= pacijenti[i].brPotrebnihJedinica)
                    {
                        B -= pacijenti[i].brPotrebnihJedinica;
                        pacijenti[i].nizIzlaz[2] = pacijenti[i].brPotrebnihJedinica;
                    }
                    else
                    {
                        pacijenti[i].nizIzlaz[2] = B;
                        pacijenti[i].nizIzlaz[0] = pacijenti[i].brPotrebnihJedinica - A;
                        O -= pacijenti[i].brPotrebnihJedinica - B;
                        B = 0;
                    }
                }
                else
                {
                    if (AB >= pacijenti[i].brPotrebnihJedinica)
                    {
                        pacijenti[i].nizIzlaz[3] = pacijenti[i].brPotrebnihJedinica;

                        AB -= pacijenti[i].brPotrebnihJedinica;
                    }
                    else if (A + AB >= pacijenti[i].brPotrebnihJedinica)
                    {
                        pacijenti[i].nizIzlaz[3] = AB;
                        pacijenti[i].nizIzlaz[1] = pacijenti[i].brPotrebnihJedinica - AB;

                        A -= pacijenti[i].nizIzlaz[0];
                        AB = 0;
                    }
                    else if (A + B + AB >= pacijenti[i].brPotrebnihJedinica)
                    {
                        pacijenti[i].nizIzlaz[3] = AB;
                        pacijenti[i].nizIzlaz[1] = A;
                        pacijenti[i].nizIzlaz[2] = pacijenti[i].brPotrebnihJedinica - AB - A;

                        A = 0;
                        B -= pacijenti[i].nizIzlaz[2];
                        AB = 0;
                    }
                    else if (O + A + B + AB >= pacijenti[i].brPotrebnihJedinica)
                    {
                        pacijenti[i].nizIzlaz[3] = AB;
                        pacijenti[i].nizIzlaz[0] = pacijenti[i].brPotrebnihJedinica - AB - A - B;
                        pacijenti[i].nizIzlaz[1] = A;
                        pacijenti[i].nizIzlaz[2] = B;

                        O -= pacijenti[i].nizIzlaz[2];
                        A = 0;
                        B = 0;
                        AB = 0;
                    }
                    else
                    {
                        Console.WriteLine("nemoguce");
                        return;
                    }
                }
            }

            Console.WriteLine("moguce");
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Console.Write(pacijenti[i].nizIzlaz[j] + " ");
                }
                Console.WriteLine();
            }

        }
    }
}