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 mo = false;
            bool ma = false;

            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; mo = true; }
                    else { mo = false; }
                }
                else
                {
                    if (k == "A") 
                    {
                        if (a - j >= 0)  
                        { 
                            a -= j; 
                            ma = true;
                        }
                        else if(a + o - j >= 0)
                        {
                            o = o - (j - a);
                            a = 0;
                            ma = true;
                        }
                        else if (o - j >= 0) { o -= j; ma = true; }
                        else { ma = false; }
                    }
                }
            }
            if (mo && ma)
            {
                Console.WriteLine("moguce");
                for (int i = 0; i < n; i++)
                {
                    Console.WriteLine(o + " " + a + " " + b + " " + ab);
                }
            }
            else Console.WriteLine("nemoguce");
        }
    }
}