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

namespace transfuzijakrvi
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int N, O, A, B;
            N = int.Parse(Console.ReadLine());
            N = N - 1;
            string[] zalihagrupa = new string[4];
            zalihagrupa = Console.ReadLine().Split(' ');
            O = int.Parse(zalihagrupa[0]);
            A = int.Parse(zalihagrupa[1]);
            B = int.Parse(zalihagrupa[2]);
            int[] grupe = { O, A, B };
            bubblesort(grupe);

            var pacs = new List<Pacijent>(5);

            for (int i = 0; i < N + 1; i++)
            {
                string unos = Console.ReadLine();
                string gr = unos.Split(' ')[0];
                int jed = int.Parse(unos.Split(' ')[1]);

                pacs.Add(new Pacijent(i, gr, jed));
            }


            int zb = 0;
            for (int q = 0; q < N; q++)
            {
                zb = zb + pacs[q].jedinicekrvi;
            }
            int st = O;
            int ra = A;
            int ro = O;
            int rb = B;

            if (zb < O + A + B)
            {
                Console.WriteLine("moguce");
                for (int i = 0; i < N + 1; i++)
                {
                    if (pacs[i].grupa == "O")
                    {

                        while (pacs[i].jedinicekrvi != 0)
                        {
                            if (O > 0)
                            {
                                O--;
                                pacs[i].jedinicekrvi--;

                            }
                        }
                        Console.WriteLine((ro - O) + " " + 0 + " " + 0 + " " + 0);
                        ro = O;
                    }
                    if (pacs[i].grupa == "A")
                    {
                        while (pacs[i].jedinicekrvi != 0)
                        {
                            if (A > 0)
                            {
                                A--;
                                pacs[i].jedinicekrvi--;
                            }
                            else if (O > 0)
                            {
                                O--;
                                pacs[i].jedinicekrvi--;
                            }

                        }
                        Console.WriteLine((ro - O) + " " + (ra - A) + " " + 0 + " " + 0);
                        ro = O;
                        ra = A;
                    }
                    if (pacs[i].grupa == "B")
                    {
                        while (pacs[i].jedinicekrvi != 0)
                        {
                            if (B > 0)
                            {
                                B--;
                                pacs[i].jedinicekrvi--;
                            }
                            else if (O > 0)
                            {
                                O--;
                                pacs[i].jedinicekrvi--;
                            }

                        }
                        Console.WriteLine((ro - O) + " " + 0 + " " + (rb - B) + " " + 0);
                        ro = O;
                        rb = B;
                    }

                }
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("nemoguce");
            }
        }
        public static void bubblesort(int[] s)
        {
            int i, j;
            int n = s.Length;

            for (j = n - 1; j > 0; j--)
            {
                for (i = 0; i < j; i++)
                {
                    if (s[i] > s[i + 1])
                    {
                        int ormar;
                        ormar = s[i + 1];
                        s[i + 1] = s[i];
                        s[i] = ormar;
                    }
                }
            }
        }
        class Pacijent
        {
            public int id { get; set; }
            public string grupa { get; set; }
            public int jedinicekrvi { get; set; }

            public Pacijent(int e, string r, int t)
            {
                id = e;
                grupa = r;
                jedinicekrvi = t;
            }
        }
    }
}