using System;
using System.Collections.Generic;

namespace burh
{
    class Program
    {  
        public struct gej_osoba{
            public string grupa;
            public int broj_kurca;
            public int id;
        }
        static void Main(string[] args)
        {
            int br = int.Parse(Console.ReadLine());
            int[] jedinice = new int[4];
            string[] burh = Console.ReadLine().Split();
            jedinice[0] = int.Parse(burh[0]);
            jedinice[1] = int.Parse(burh[1]);
            jedinice[2] = int.Parse(burh[2]);
            jedinice[3] = int.Parse(burh[3]); 
            gej_osoba[] fuck = new gej_osoba[br];
            for(int i = 0;i<br;i++)
            {
                gej_osoba retard = new gej_osoba();
                burh = Console.ReadLine().Split();
                retard.grupa = burh[0];
                retard.broj_kurca = int.Parse(burh[1]);
                retard.id = i;
                fuck[i] = retard;
            }
            string[] OnoZapis = new string[br];
            Array.Sort(fuck, (x, y) => x.grupa.CompareTo(y.grupa));
            int counter = fuck.Length-1;
            bool p = true;
            while(fuck[counter].grupa!="AB"&&fuck[counter].grupa!="A"&&p){
                int Okurci = 0;
                int Bkurci = 0;
                if(fuck[counter].grupa == "B"){
                    if(fuck[counter].broj_kurca<jedinice[2]){
                        Bkurci = fuck[counter].broj_kurca;
                        jedinice[2]-=Bkurci;
                    }
                    else{
                        Bkurci = jedinice[2];
                        jedinice[2]=0;
                        fuck[counter].broj_kurca-=Bkurci;
                        if(fuck[counter].broj_kurca<jedinice[0]){
                            Okurci = fuck[counter].broj_kurca;
                            jedinice[0]-=Okurci;
                        }
                        else p = !p;
                    }
                }
                else{
                    if(fuck[counter].broj_kurca<jedinice[0]){
                        Okurci = fuck[counter].broj_kurca;
                        jedinice[0]-=Okurci;
                    }
                    else p = !p;
                }
                string big_chungus = Okurci + " 0 " + Bkurci + " 0";
                OnoZapis[fuck[counter].id]=big_chungus;
                counter--;
                }
                counter=0;
                while(fuck[counter].grupa!="B"&&fuck[counter].grupa!="O"&&p)
                {
                    int Okurci = 0;
                    int Bkurci = 0;
                    int Akurci = 0;
                    int ABkurci = 0;
                    if(fuck[counter].grupa == "A")
                    {
                        if(fuck[counter].broj_kurca<jedinice[1])
                        {
                            Akurci = fuck[counter].broj_kurca;
                            jedinice[1]-=Akurci;
                        }
                        else
                        {
                            Akurci = jedinice[1];
                            jedinice[1]=0;
                            fuck[counter].broj_kurca-=Akurci;
                            if(fuck[counter].broj_kurca<jedinice[0])
                            {
                                Okurci = fuck[counter].broj_kurca;
                                jedinice[0]-=Okurci;
                            }
                            else p = !p;
                        }
                    }
                    else
                    {
                        if(fuck[counter].broj_kurca<jedinice[3])
                        {
                            ABkurci = fuck[counter].broj_kurca;
                            jedinice[3]-=ABkurci;
                        }
                        else
                        {
                            ABkurci = jedinice[3];
                            jedinice[3]=0;
                            fuck[counter].broj_kurca-=ABkurci;
                            if(fuck[counter].broj_kurca<jedinice[1])
                            {
                                Akurci = fuck[counter].broj_kurca;
                                jedinice[1]-=Akurci;
                            }
                            else{
                                Akurci = jedinice[1];
                                jedinice[1]-=Akurci;
                                fuck[counter].broj_kurca-=Akurci;
                                if(fuck[counter].broj_kurca<jedinice[2])
                                {
                                    Bkurci = fuck[counter].broj_kurca;
                                    jedinice[2]-=Bkurci;
                                }
                                else
                                {
                                    Bkurci = jedinice[2];
                                    jedinice[2]=0;
                                    fuck[counter].broj_kurca-=Bkurci;
                                    if(fuck[counter].broj_kurca<jedinice[0])
                                    {
                                        Okurci = fuck[counter].broj_kurca;
                                        jedinice[0]-=Okurci;
                                    }
                                    else p = !p;
                                }
                            }
                        }
                    }
                    string big_chungus = Okurci + " " +  Akurci + " " + Bkurci + " " + ABkurci;
                    OnoZapis[fuck[counter].id]=big_chungus;
                    counter++;   
                }
            if(p){
                Console.WriteLine("moguce");
                for(int i = 0;i<br;i++) Console.WriteLine(OnoZapis[i]);
            }
            else Console.WriteLine("nemoguce");
        }
    }
}