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

namespace Piramida
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            string[] s = Console.ReadLine().Split();
            int o = int.Parse(s[0]);
            int a = int.Parse(s[1]);
            int b = int.Parse(s[2]);
            int ab = int.Parse(s[3]);
            string[] s2 = new string[n];

            int o1 = 0;
            int a1 = 0;
            int b1 = 0;
            int ab1 = 0;

            for (int i = 0; i < n; i++)
            {
                string[] s1 = Console.ReadLine().Split();
                if (s1[0] == "A")
                {
                    int k = int.Parse(s1[1]);
                    while (k != 0)
                    {
                        if (a != 0)
                        {
                            a--;
                            k--;
                            a1++;
                        }
                        else
                        {
                            o--;
                            k--;
                            o1++;
                        }
                    }
                }
                if (s1[0] == "B")
                {
                    int k = int.Parse(s1[1]);
                    while (k != 0)
                    {
                        if (b != 0)
                        {
                            b--;
                            k--;
                            b1++;
                        }
                        else
                        {
                            o--;
                            k--;
                            o1++;
                        }
                    }
                }
                if (s1[0] == "AB")
                {
                    int k = int.Parse(s1[1]);
                    while (k != 0)
                    {
                        if (ab != 0)
                        {
                            ab--;
                            k--;
                            ab1++;
                        }

                        else if (a != 0)
                        {
                            a--;
                            k--;
                            a1++;
                        }

                        else if (b != 0)
                        {
                            b--;
                            k--;
                            b1++;
                        }

                        else
                        {
                            o--;
                            k--;
                            o1++;
                        }
                    }
                }

                if (s1[0] == "O")
                {
                    o -= int.Parse(s1[1]);
                    o1++;
                }
                s2[i] = (o1 + " " + a1 + " " + b1 + " " + ab1).ToString();
                o1 = 0;
                a1 = 0;
                b1 = 0;
                ab1 = 0;
            }
            if (o < 0 || a < 0 || b < 0 || ab < 0)
            {
                Console.WriteLine("nemoguce");
            }
            else
            {
                Console.WriteLine("moguce");
                for(int i = 0; i<n; i++)
                {
                    Console.WriteLine(s2[i]);
                }
            }
        }
    }
}