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

namespace Takmicenje
{
    enum Redosled
    {
        O = 1,
        A = 2,
        B = 3,
        AB = 4
    }

    struct Pacijent
    {
        private string grupa;
        private int jedinice;
        private int[] koliko;
        public Redosled redosled;

        public Pacijent(string grupa, int jedinice)
        {
            this.grupa = grupa;
            this.jedinice = jedinice;
            koliko = new int[4];
            redosled = (Redosled)Enum.Parse(typeof(Redosled), grupa, true);
        }

        public string getGrupa()
        {
            return this.grupa;
        }

        public int getJedinica()
        {
            return this.jedinice;
        }

        public void setKoliko(int i, int jed)
        {
            this.koliko[i] += jed;
        }

        public int[] getKoliko()
        {
            return koliko;
        }

        public int getRedosled()
        {
            return (int)redosled;
        }
    }

    class MainClass
    {
        public static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            string[] zalihe = Console.ReadLine().Split(' ');
            int[] zalihe_br = new int[zalihe.Length];

            int[] map = { 0, 1, 2, 3 };

            List<Pacijent> pacijenti = new List<Pacijent>(n);

            for (int i = 0; i < zalihe.Length; i++)
            {
                zalihe_br[i] = int.Parse(zalihe[i]);
            }

            for (int i = 0; i < n; i++)
            {
                string[] unos = Console.ReadLine().Split(' ');
                Pacijent pacijent = new Pacijent(unos[0], int.Parse(unos[1]));
                pacijenti.Add(pacijent);
            }

            var sortirana_lista = pacijenti.OrderBy(x => x.redosled);

            foreach (Pacijent p in sortirana_lista)
            {
                string grupa = p.getGrupa();
                int jedinice = p.getJedinica();
                int moguce_jedinice = 0;
                if (grupa == "O")
                {
                    if (zalihe_br[0] >= jedinice)
                    {
                        zalihe_br[0] -= jedinice;
                        p.setKoliko(0, jedinice);
                    }
                    else
                    {
                        Console.Write("nemoguce");
                        Environment.Exit(0);
                    }
                }
                if (grupa == "AB")
                {
                    moguce_jedinice = zalihe_br[0] + zalihe_br[1] + zalihe_br[2] + zalihe_br[3];
                    if (moguce_jedinice < jedinice)
                    {
                        Console.Write("nemoguce");
                        Environment.Exit(0);
                    }

                    if (zalihe_br[3] >= jedinice)
                    {
                        zalihe_br[3] -= jedinice;
                        p.setKoliko(3, jedinice);
                    }
                    else if (zalihe_br[3] > 0)
                    {
                        p.setKoliko(3, zalihe_br[3]);
                        jedinice -= zalihe_br[3];
                        zalihe_br[3] = 0;

                        if (zalihe_br[0] >= jedinice)
                        {
                            zalihe_br[0] -= jedinice;
                            p.setKoliko(0, jedinice);
                        }
                        else if (zalihe_br[0] > 0)
                        {
                            p.setKoliko(0, zalihe_br[0]);
                            jedinice -= zalihe_br[0];
                            zalihe_br[0] = 0;

                            if (zalihe_br[1] >= jedinice)
                            {
                                zalihe_br[1] -= jedinice;
                                p.setKoliko(1, jedinice);
                            }
                            else if (zalihe_br[1] > 0)
                            {
                                jedinice -= zalihe_br[1];
                                p.setKoliko(1, zalihe_br[1]);
                                zalihe_br[1] = 0;

                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                            else
                            {
                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                                else
                                {
                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                        }
                        else
                        {
                            if (zalihe_br[1] >= jedinice)
                            {
                                zalihe_br[1] -= jedinice;
                                p.setKoliko(1, jedinice);
                            }
                            else if (zalihe_br[1] > 0)
                            {
                                jedinice -= zalihe_br[1];
                                p.setKoliko(1, zalihe_br[1]);
                                zalihe_br[1] = 0;

                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                            else
                            {
                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                                else
                                {
                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                        }
                    }
                    else
                    {
                        if (zalihe_br[0] >= jedinice)
                        {
                            zalihe_br[0] -= jedinice;
                            p.setKoliko(0, jedinice);
                        }
                        else if (zalihe_br[0] > 0)
                        {
                            p.setKoliko(0, zalihe_br[0]);
                            jedinice -= zalihe_br[0];
                            zalihe_br[0] = 0;

                            if (zalihe_br[1] >= jedinice)
                            {
                                zalihe_br[1] -= jedinice;
                                p.setKoliko(1, jedinice);
                            }
                            else if (zalihe_br[1] > 0)
                            {
                                jedinice -= zalihe_br[1];
                                p.setKoliko(1, zalihe_br[1]);
                                zalihe_br[1] = 0;

                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                            else
                            {
                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                                else
                                {
                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                        }
                        else
                        {
                            if (zalihe_br[1] >= jedinice)
                            {
                                zalihe_br[1] -= jedinice;
                                p.setKoliko(1, jedinice);
                            }
                            else if (zalihe_br[1] > 0)
                            {
                                jedinice -= zalihe_br[1];
                                p.setKoliko(1, zalihe_br[1]);
                                zalihe_br[1] = 0;

                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                            else
                            {
                                if (zalihe_br[2] >= jedinice)
                                {
                                    zalihe_br[2] -= jedinice;
                                    p.setKoliko(2, jedinice);
                                }
                                else if (zalihe_br[2] > 0)
                                {
                                    jedinice -= zalihe_br[2];
                                    p.setKoliko(2, zalihe_br[2]);
                                    zalihe_br[2] = 0;

                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                                else
                                {
                                    zalihe_br[0] -= jedinice;
                                    p.setKoliko(0, jedinice);
                                }
                            }
                        }
                    }
                }
                if (grupa == "A")
                {
                    moguce_jedinice = zalihe_br[0] + zalihe_br[1];
                    if (moguce_jedinice < jedinice)
                    {
                        Console.Write("nemoguce");
                        Environment.Exit(0);
                    }

                    if (zalihe_br[1] >= jedinice)
                    {
                        zalihe_br[1] -= jedinice;
                        p.setKoliko(1, jedinice);
                    }
                    else if (zalihe_br[1] > 0)
                    {
                        jedinice -= zalihe_br[1];
                        p.setKoliko(1, zalihe_br[1]);
                        zalihe_br[1] = 0;

                        zalihe_br[0] -= jedinice;
                        p.setKoliko(0, jedinice);
                    }
                    else
                    {
                        zalihe_br[0] -= jedinice;
                        p.setKoliko(0, jedinice);
                    }
                }
                if (grupa == "B")
                {
                    moguce_jedinice = zalihe_br[0]+ zalihe_br[2];
                    if (moguce_jedinice < jedinice)
                    {
                        Console.Write("nemoguce");
                        Environment.Exit(0);
                    }

                    if (zalihe_br[2] >= jedinice)
                    {
                        zalihe_br[2] -= jedinice;
                        p.setKoliko(2, jedinice);
                    }
                    else if (zalihe_br[2] > 0)
                    {
                        jedinice -= zalihe_br[2];
                        p.setKoliko(2, zalihe_br[2]);
                        zalihe_br[2] = 0;

                        zalihe_br[0] -= jedinice;
                        p.setKoliko(0, jedinice);
                    }
                    else
                    {
                        zalihe_br[0] -= jedinice;
                        p.setKoliko(0, jedinice);
                    }
                }
            }

            Console.WriteLine("moguce");
            foreach (Pacijent p in pacijenti)
            {
                int[] mere = p.getKoliko();
                Console.WriteLine(mere[0] + " " + mere[1] + " " + mere[2] + " " + mere[3]);
            }
        }
    }
}