using System;

namespace kvalifikacije1._2
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            string[] str = Console.ReadLine().Split();
            int o = int.Parse(str[0]);
            int a = int.Parse(str[1]);
            int b = int.Parse(str[2]);
            int ab = int.Parse(str[3]);
            string[] pg = new string[n];
            int[] pj = new int[n];
            for(int i=0; i < n; i++)
            {
                str = Console.ReadLine().Split();
                pg[i] = str[0];
                pj[i] = int.Parse(str[1]);
            }
            int[,] tr = new int[n,4];

            bool mogucnost = true;

            for(int i = 0; i < n; i++)
            {
                //o grupa
                if (pg[i] == "O")
                {
                    if (pj[i] <= o)
                    {
                        tr[i, 0] = pj[i];
                        o -= pj[i];
                    }
                    else { mogucnost = false; break; }
                }
            }

            if(mogucnost)
                for (int i = 0; i < n; i++)
                {
                    //a grupa
                    if (pg[i] == "A")
                    {
                        if (pj[i] > a)
                        {
                            pj[i] -= a;
                            tr[i, 1] = a;
                            a = 0;
                            if (pj[i] <= o)
                            {
                                tr[i, 0] = pj[i];
                                o -= pj[i];
                            }
                            else { mogucnost = false; break; }
                        }
                        else
                        {
                            tr[i, 1] = pj[i];
                            a -= pj[i];
                        }
                    }
                    //b grupa
                    if (pg[i] == "B")
                    {
                        if (pj[i] > b)
                        {
                            pj[i] -= b;
                            tr[i, 2] = b;
                            b = 0;
                            if (pj[i] <= o)
                            {
                                tr[i, 0] = pj[i];
                                o -= pj[i];
                            }
                            else { mogucnost = false; break; }
                        }
                        else
                        {
                            tr[i, 2] = pj[i];
                            b -= pj[i];
                        }
                    }

                }

            if(mogucnost)
                for (int i = 0; i < n; i++)
                {
                    //ab grupa
                    if (pg[i] == "AB")
                    {
                        if (pj[i] > ab)
                        {
                            pj[i] -= ab;
                            tr[i, 3] = ab;
                            ab = 0;
                            if (pj[i] > a)
                            {
                                pj[i] -= a;
                                tr[i, 1] = a;
                                a = 0;
                                if (pj[i] > b)
                                {
                                    pj[i] -= b;
                                    tr[i, 2] = b;
                                    b = 0;
                                    if (pj[i] <= o)
                                    {
                                        tr[i, 0] = pj[i];
                                        o -= pj[i];
                                    }
                                    else { mogucnost = false; break; }
                                }
                                else
                                {
                                    tr[i, 2] = pj[i];
                                    b -= pj[i];
                                }
                            }
                            else
                            {
                                tr[i, 1] = pj[i];
                                a -= pj[i];
                            }
                        }
                        else
                        {
                            tr[i, 3] = pj[i];
                            ab -= pj[i];
                        }
                    }
                }
            if (!mogucnost) Console.WriteLine("nemoguce");
            else
            {
                Console.WriteLine("moguce");
                for(int i = 0; i < n; i++)
                {
                    Console.WriteLine(tr[i, 0] + " " + tr[i, 1] + " " + tr[i, 2] + " " + tr[i, 3]);
                }
            }
        }

    }
}