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

namespace Takmicenje2
{
    class Program
    {
        static void Main(string[] args)
        {
            int brPacijenata = Convert.ToInt16(Console.ReadLine());
            string[] zaliheS = Console.ReadLine().Split();
            int[] zalihe = Array.ConvertAll(zaliheS, int.Parse);
            string[] grupe = new string[brPacijenata];
            int[] kolicine = new int[brPacijenata];

            for (int i = 0; i < brPacijenata; i++) {
                string[] pacijent = Console.ReadLine().Split();
                grupe[i] = pacijent[0];
                kolicine[i] = Convert.ToInt16(pacijent[1]);
            }

            int[,] rez = new int[brPacijenata,4];
            int indeks1, indeks2 = 0;
            bool ispis = true;

            for (int i = 0; i < brPacijenata; i++) {
                switch (grupe[i]) {
                    case "O": indeks1 = 0; indeks2 = -1;  break;
                    case "A": indeks1 = 1; indeks2 = 0; break;
                    case "B": indeks1 = 2; indeks2 = 0; break;
                    case "AB": indeks1 = 3; break;
                    default: indeks1 = 0; indeks2 = 0; break;
                }

                if (zalihe[0] == 0 && zalihe[1] == 0 && zalihe[2] == 0 && zalihe[3] == 0) {
                    Console.WriteLine("nemoguce");
                    ispis = false;
                    break;
                }
                else {
                    if (indeks1 == 3) {
                        int kol = 0;
                        if (zalihe[indeks1] - kolicine[i] >= 0) {
                            rez[i,indeks1] = kolicine[i];
                            zalihe[indeks1] -= kolicine[i];
                        }
                        else if (zalihe[indeks1] - kolicine[i] < 0) {
                            kolicine[i] -= zalihe[indeks1];
                            rez[i, indeks1] = zalihe[indeks1];
                            zalihe[indeks1] = 0;

                            for (int j = 0; j < 3; j++) {
                                kol += zalihe[j];

                                if (kol >= kolicine[i]) {
                                    int nazad = kol - kolicine[i];
                                    kol -= nazad;
                                    rez[i, j] = zalihe[j] - nazad;
                                    zalihe[j] = nazad;
                                    break;
                                }

                                rez[i, j] = zalihe[j];
                                zalihe[j] = 0;
                            }

                            if (kol != kolicine[i]) {
                                Console.WriteLine("nemoguce");
                                ispis = false;
                                break;
                            }
                            continue;
                        }
                    }

                    if (zalihe[indeks1] - kolicine[i] >= 0) {
                        rez[i,indeks1] = kolicine[i];
                        zalihe[indeks1] -= kolicine[i];
                    }
                    else if (zalihe[indeks1] - kolicine[i] < 0) {
                        if (indeks2 == -1) {
                            Console.WriteLine("nemoguce");
                            ispis = false;
                            break;
                        }
                        kolicine[i] -= zalihe[indeks1];
                        rez[i,indeks1] = zalihe[indeks1];
                        zalihe[indeks1] = 0;

                        if (zalihe[indeks2] - kolicine[i] >= 0) {
                            rez[i, indeks2] = kolicine[i];
                            zalihe[indeks2] -= kolicine[i];
                            kolicine[i] = 0;
                        }
                        else if (zalihe[indeks2] - kolicine[i] < 0) {
                            Console.WriteLine("nemoguce");
                            ispis = false;
                            break;
                        }
                    }
                }
            }

            if (ispis) {
                Console.WriteLine("moguce");
                for (int i = 0; i < brPacijenata; i++) {
                    for (int j = 0; j < 4; j++) {
                        Console.Write(rez[i,j] + " ");
                    }
                    Console.WriteLine();
                }
            }
            Console.ReadKey();
        }
    }
}