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

namespace Transfuzija
{
    class Program
    {
        public enum Grupe { O,A,B,AB};
        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]);

            bool moguce = true;
            string[] grupe = new string[N];
            int[] z = new int[N];//potrebne jedinice
            int[,] primanje = new int[N,4];

            for (int i = 0; i < N; i++)
            {
                string[] h = Console.ReadLine().Split();
                grupe[i] = h[0];
                z[i] = int.Parse(h[1]);
            }
            for (int j = 0; j < N; j++)
            {
                if (grupe[j] == "O")
                {
                    if (z[j] <= O)
                    {
                        primanje[j,0] += z[j];
                        O -= z[j];

                    }
                    else
                    {
                        moguce = false;
                        break;
                    }
                }
            }
            for (int j = 0; j < N; j++)
            {
                if (grupe[j] == "A")
                {
                    if (A + O >= z[j])
                    {
                        if (z[j] <= A)
                        {
                            primanje[j, 1] += z[j];
                            A -= z[j];
                        }
                        else
                        {
                            primanje[j, 1] += A;
                            z[j] -= A;
                            primanje[j, 0] += z[j];
                            O -= z[j];
                        }
                    }
                    else
                    {
                        moguce = false;
                        break;
                    }
                }
            }
            for (int j = 0; j < N; j++)
            {
                if (grupe[j] == "B")
                {
                    if (B + O >= z[j])
                    {
                        if (z[j] <= B)
                        {
                            primanje[j, 2] += z[j];
                            B -= z[j];
                        }
                        else
                        {
                            primanje[j, 2] += B;
                            z[j] -= B;
                            primanje[j, 0] += z[j];
                            O -= z[j];
                        }
                    }
                    else
                    {
                        moguce = false;
                        break;
                    }
                }
            }
            for (int j = 0; j < N; j++)
            {
                if (grupe[j] == "AB")
                {
                    if (A + B + O + AB >= z[j])
                    {
                        if (z[j] <= AB)
                        {
                            primanje[j, 3] += z[j];
                            AB -= z[j];
                        }
                        if (z[j] <= A)
                        {
                            primanje[j, 1] += z[j];
                            A -= z[j];
                        }
                        else if (z[j] <= B)
                        {
                            primanje[j, 2] += z[j];
                            B -= z[j];
                        }
                        else
                        {
                            z[j] -= AB;
                            primanje[j, 3] += AB;
                            if (z[j] != 0)
                            {
                                if (A != 0)
                                {
                                    if (z[j] <= A)
                                    {
                                        A -= z[j];
                                        primanje[j, 1] += z[j];
                                        z[j] = 0;
                                    }
                                    else
                                    {
                                        z[j] -= A;
                                        primanje[j, 1] += A;
                                    }
                                }
                            }
                            //z[j] -= A;
                            if (z[j] != 0)
                            {
                                if (B != 0)
                                {

                                    if (z[j] <= B)
                                    {
                                        B -= z[j];
                                        primanje[j, 2] += z[j];
                                        z[j] = 0;
                                    }
                                    else
                                    {
                                        z[j] -= B;
                                        primanje[j, 2] += B;
                                    }
                                }
                            }
                            if (z[j] != 0)
                            {
                                if (O != 0)
                                {
                                    if (z[j] <= O)
                                    {
                                        O -= z[j];
                                        primanje[j, 0] += z[j];
                                        z[j] = 0;
                                    }
                                    else
                                    {
                                        z[j] -= O;
                                        primanje[j, 0] += O;
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        moguce = false;
                        break;
                    }
                }
            }

            if (moguce)
            {
                Console.WriteLine("moguce");
                for (int i = 0; i < primanje.GetLength(0); i++)
                {
                    for (int j = 0; j < primanje.GetLength(1); j++)
                    {
                        Console.Write(primanje[i, j] + " ");
                    }
                    Console.WriteLine();
                }
            }
            else
            {
                Console.WriteLine("nemoguce");
            }

        }
    }
}