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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int O, A, B, AB;
            int Oz = 0;
            int Az = 0;
            int Bz = 0;
            int ABz = 0;
            string s = Console.ReadLine();
            string[] str = s.Split(' ');
            O = int.Parse(str[0]);
            A = int.Parse(str[1]);
            B = int.Parse(str[2]);
            AB = int.Parse(str[3]);
            string[] grupe = new string[n];
            int[] niz = new int[n];
            
            int i = 0;
            while (i < n)
            {
                s = Console.ReadLine();
                str = s.Split(' ');
                grupe[i] = str[0];
                
                niz[i] = int.Parse(str[1]);
                if (grupe[i] == "A") Az = Az + niz[i];
                else if (grupe[i] == "B") Bz = Bz + niz[i];
                else if (grupe[i] == "O") Oz = Oz + niz[i];
                else if (grupe[i] == "AB") ABz = ABz + niz[i];
                
                i++;
            }
            

            int Oo = O - Oz;
            
            int Ao = A - Az;
            if (Ao < 0)
            {
            Oo = Oo+Ao;
                Ao = 0;
            }
            int Bo = B - Bz;
            if (Bo < 0)
            {
                Oo = Oo + Bo;
                Bo = 0;
            }
            int ABo = AB - ABz;
            if (ABo < 0)
            {
                if (Ao > 0)
                {
                    ABo = ABo + Ao;
                    Ao = 0;
                }
                if (Bo > 0)
                {
                    ABo = ABo + Bo;
                    Bo = 0;
                }
                if (Oo > 0)
                {
                    ABo = ABo + Oo;
                    Oo = 0;
                }

            }
          /*  Console.WriteLine(Oo);
            Console.WriteLine(Ao);
            Console.WriteLine(Bo);
            Console.WriteLine(ABo);*/
            if (Ao < 0 || Bo < 0 || Oo < 0 || ABo < 0)
            {
                Console.WriteLine("nemoguce");
            }
            else
            { 
            i = 0;
            Oo = O - Oz;
            Ao = A - Az;
            if (Ao < 0)
            {
                Oo = Oo - Ao;
                Ao = 0;
            }
            Bo = B - Bz;
            if (Bo < 0)
            {
                Oo = Oo - Bo;
                Bo = 0;
            }
            }


            

            if (Ao >= 0 && Bo >= 0 && Oo >= 0 && ABo >= 0)
            {
                Console.WriteLine("moguce");
                while (i < n)
                {
                    if (grupe[i] == "A")
                    {
                        if (A >= niz[i])
                        {
                            Console.WriteLine("0 " + niz[i] + " 0 0");
                            A = A - niz[i];
                        }
                        else
                        {
                            Console.WriteLine(niz[i] - A + " " + A + " 0 0");
                            O = O - niz[i] + A;
                           A = 0;
                        }
                    }

                    else if (grupe[i] == "B")
                    {
                        if (B >= niz[i])
                        {
                            Console.WriteLine("0 0 " + niz[i] + " 0");
                            B = B - niz[i];
                        }
                        else
                        {
                            Console.WriteLine(niz[i] - B + " 0 " + B + " 0");
                            O = O - niz[i] + B;
  B = 0;
                        }
                    }

                    else if (grupe[i] == "O")
                    {
                        Console.WriteLine(niz[i] + " 0 0 0");
                        O = O - niz[i];
                    }

                    else if (grupe[i] == "AB")
                    {
                        if (AB >= niz[i])
                        {
                            Console.WriteLine("0 0 0 " + niz[i]);
                            AB = AB - niz[i];
                        }
                        else 
                        {
                            if (B >= niz[i] - AB)
                            {
                                Console.WriteLine("0 0 " + (niz[i] - AB) + " " + AB);
                                B = B - niz[i] + AB;
                                AB = 0;
                            }
                            else 
                            {
                                if (A >= niz[i] - AB - B)
                                {
                                    Console.WriteLine("0 " + (niz[i] - B - AB) + " " + B + " " + AB);
                                    A = A - niz[i] +B + AB;
                                    B = 0;
                                    AB = 0;
                                }
                                else 
                                {
                                    Console.WriteLine((niz[i] - AB - B - A) + " " + A + " " + B + " " + AB);
                                    O = O - niz[i] + A + B + AB;
                                    AB = 0;
                                    B = 0;
                                    A = 0;
                                }
                            }
                        }

                        
                         
                      



                        }
                    i++; 
                    }
                  
                }
    Console.ReadLine();
        }
          

            /*Console.WriteLine(Az);
            Console.WriteLine(Bz);
            Console.WriteLine(Oz);
            Console.WriteLine(ABz);*/
         //   Console.ReadLine();

        }
    }