using System;
using System.Diagnostics;
using System.Threading;
namespace TransfuzijaKrvi
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            var v = Console.ReadLine().Split();
            int o = int.Parse(v[0]);
            int a = int.Parse(v[1]);
            int b = int.Parse(v[2]);
            int ab = int.Parse(v[3]);

            int u = o + a + b + ab;

            bool nemoguce = false;
            int[] o1 = new int[n]; int[] a1 = new int[n]; int[] b1 = new int[n]; int[] ab1 = new int[n];

            for (int i = 0; i < n; i++)
            {
                var v1 = Console.ReadLine().Split();
                string k = v1[0];
                int j = int.Parse(v1[1]);
                if (j > u)
                {
                    break;
                }
                else if (k == "O")
                {
                    if (o - j >= 0) { o -= j;  o1[i] += j; }
                    else { nemoguce = true; }
                }
                else
                {
                    if (k == "A")
                    {
                        if (a - j >= 0)
                        {
                            a -= j;
                            a1[i] += j;
                        }
                        else if (a + o - j >= 0)
                        {
                            o = o - (j - a);
                            o1[i] += (j - a);
                            a1[i] += j - o1[i];
                            a = 0;
                        }
                        else if (o - j >= 0) { o -= j; o1[i] += j; }
                        else { nemoguce = true; }
                    }
                    else if (k == "B")
                    {
                        if (b - j >= 0)
                        {
                            b -= j;
                            b1[i] += j;
                        }
                        else if (b + o - j >= 0)
                        {
                            o = o - (j - b);
                            o1[i] += (j - b);
                            b1[i] += j - o1[i];
                            b = 0;
                        }
                        else if (o - j >= 0) { o -= j; o1[i] += j; }
                        else { nemoguce = true; }
                    }
                    else if (k == "AB")
                    {
                        if (ab - j >= 0)
                        {
                            ab -= j;
                            ab1[i] += j;
                        }
                        else if (ab + o - j >= 0)
                        {
                            o = o - (j - ab);
                            o1[i] += (j - ab);
                            ab1[i] += j - o1[i];
                            ab = 0;
                        }
                        else if (ab + a - j >= 0)
                        {
                            a = a - (j - ab);
                            a1[i] += (j - ab);
                            ab1[i] += j - a1[i];
                            ab = 0;
                        }
                        else if (ab + b - j >= 0)
                        {
                            b = b - (j - ab);
                            b1[i] += (j - ab);
                            ab1[i] += j - b1[i];
                            ab = 0;
                        }
                        else if (ab + o + b - j >= 0)
                        {
                            ab1[i] += ab;
                            if (j - ab >= b) b1[i] = b;
                            else b1[i] = j - ab;
                            b -= b1[i];
                            o -= j - b1[i] - ab1[i];
                            o1[i] += j - b1[i] - ab1[i];
                            ab = 0;
                        }
                        else if (ab + o + a - j >= 0)
                        {
                            ab1[i] += ab;
                            if (j - ab >= a) a1[i] = a;
                            else a1[i] = j - ab;
                            a -= a1[i];
                            o -= j - a1[i] - ab1[i];
                            o1[i] += j - a1[i] - ab1[i];
                            ab = 0;
                        }
                        else if (ab + a + b - j >= 0)
                        {
                            ab1[i] += ab;
                            if (j - ab >= a) a1[i] = a;
                            else a1[i] = j - ab;
                            a -= a1[i];
                            b -= j - a1[i] - ab1[i];
                            b1[i] += j - a1[i] - ab1[i];
                            ab = 0;
                        }
                        else if (ab + o + a + b - j >= 0)
                        {
                            ab1[i] += ab;
                            if (j - ab >= b) b1[i] = b;
                            else b1[i] = j - ab;
                            if (j - ab - b1[i] >= a) a1[i] = a;
                            else a1[i] = j - ab;
                            a -= a1[i];
                            b -= j - b1[i];
                            o -= j - a1[i] - b1[i];
                            ab = 0;
                        }
                        else if (o - j >= 0) { o -= j; o1[i] += j; }
                        else { nemoguce = true; }
                    }
                }
            }
            if(nemoguce)
            {
                Console.WriteLine("nemoguce");
            }
            else
            {
                Console.WriteLine("moguce");
                for (int i = 0; i < n; i++)
                {
                    Console.WriteLine(o1[i] + " " + a1[i] + " " + b1[i] + " " + ab1[i]);
                }
            }
        }
    }
}