using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            bool moguce = true;
            int n = int.Parse(Console.ReadLine());
            string[] st = Console.ReadLine().Split();
            int o = int.Parse(st[0]), a = int.Parse(st[1]), b = int.Parse(st[2]), ab = int.Parse(st[3]);
            string[] grupaPacienta = new string[n];
            int[] brojJedinica = new int[n];
            int[,] rezultat= new int[n, 4];
            var abNez = new List<int>();
            for(int i = 0; i < n; i++)
            {
                st = Console.ReadLine().Split();
                grupaPacienta[i] = st[0]; brojJedinica[i] = int.Parse(st[1]);
            }
            for(int i = 0; i < n; i++)
            {
                if (grupaPacienta[i] == "O")
                {
                    if (brojJedinica[i] > o) { moguce = false; break; }
                    o -= brojJedinica[i];
                    rezultat[i, 0] += brojJedinica[i];
                }
                else if (grupaPacienta[i] == "A")
                {
                    if (brojJedinica[i] > o + a) { moguce = false; break; }
                    if (brojJedinica[i] > a)
                    {
                        brojJedinica[i] -= a;
                        rezultat[i, 1] += a;
                        rezultat[i, 0] += brojJedinica[i];
                        a = 0;
                        o -= brojJedinica[i];
                    }
                    else
                    {
                        a -= brojJedinica[i];
                        rezultat[i, 1] += brojJedinica[i];
                    }
                }
                else if (grupaPacienta[i] == "B")
                {
                    if (brojJedinica[i] > o + b) { moguce = false; break; }
                    if (brojJedinica[i] > b)
                    {
                        brojJedinica[i] -= b;
                        rezultat[i, 2] += b;
                        rezultat[i, 0] += brojJedinica[i];
                        b = 0;
                        o -= brojJedinica[i];
                    }
                    else
                    {
                        b -= brojJedinica[i];
                        rezultat[i, 2] += brojJedinica[i];
                    }
                }
                else
                {
                    if (brojJedinica[i] > ab + a + b + o) { moguce = false; break; }
                    ab -= brojJedinica[i];
                    rezultat[i, 3] += brojJedinica[i];
                    if (ab < 0)
                    {
                        brojJedinica[i] = Math.Abs(ab);
                        rezultat[i, 3] -= brojJedinica[i];
                        ab = 0;
                        abNez.Add(i);
                    }
                }
                
            }
            for(int i = 0; i < abNez.Count; i++)
            {
                o -= brojJedinica[abNez[i]];
                rezultat[abNez[i], 0] += brojJedinica[abNez[i]];
                if (o < 0)
                {
                    brojJedinica[abNez[i]] = Math.Abs(o);
                    rezultat[abNez[i], 0] -= brojJedinica[abNez[i]];
                    o = 0;
                    a -= brojJedinica[abNez[i]];
                    rezultat[abNez[i], 1] += brojJedinica[abNez[i]];
                    if (a < 0)
                    {
                        brojJedinica[abNez[i]] = Math.Abs(a);
                        rezultat[abNez[i], 1] -= brojJedinica[abNez[i]];
                        a = 0;
                        b -= brojJedinica[abNez[i]];
                        rezultat[abNez[i], 2] += brojJedinica[abNez[i]];
                        if (b < 0) moguce = false;
                    }
                }
            }
            if (moguce)
            {
                Console.WriteLine("moguce");
                for (int i = 0; i < n; i++) Console.WriteLine("{0} {1} {2} {3}", rezultat[i, 0], rezultat[i, 1], rezultat[i, 2], rezultat[i, 3]);
            }
            else Console.WriteLine("nemoguce");
            Console.ReadLine();
        }
    }
}