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

namespace drugi_zadatak
{

    internal class AlNaPapir
    {
        static void Main(string[] args)
        {
            //input
            List<int> O = new List<int>(); List<int> A = new List<int>(); List<int> B = new List<int>(); List<int> AB = new List<int>();
            int n = int.Parse(Console.ReadLine());
            string[] ulaz_resursi = Console.ReadLine().Split();
            int[] a_resursi = new int[4];
            a_resursi[0] = int.Parse(ulaz_resursi[0]); a_resursi[1] = int.Parse(ulaz_resursi[1]); a_resursi[2] = int.Parse(ulaz_resursi[2]); a_resursi[3] = int.Parse(ulaz_resursi[3]);
            for (int i = 0; i < n; i++) {
                string[] grupe = Console.ReadLine().Split();
                if(grupe[0] == "O") {
                    O.Add(int.Parse(grupe[1]));
                }
                if (grupe[0] == "A") {
                    A.Add(int.Parse(grupe[1]));
                }
                if (grupe[0] == "B") {
                    B.Add(int.Parse(grupe[1]));
                }
                if (grupe[0] == "AB") {
                    AB.Add(int.Parse(grupe[1]));
                }
            }
            int sumaO = O.Sum(); int sumaA = A.Sum(); int sumaB = B.Sum(); int sumaAB = AB.Sum();

            int[,] ispis = new int[4,4];
            a_resursi[0] -= sumaO;
            if (a_resursi[0] < 0)
                Console.WriteLine("nemoguce");
            else
            {
                ispis[0, 0] = sumaO;
                if (a_resursi[1] - sumaA < 0)
                {
                    ispis[1, 1] = a_resursi[1];
                    a_resursi[1] -= sumaA;
                    if (a_resursi[0] + a_resursi[1] < 0)
                    {
                        Console.WriteLine("nemoguce");
                    }
                    else
                    {
                        ispis[1, 0] = -sumaA;
                        a_resursi[0] += sumaA;
                    }
                }
                if (a_resursi[2] - sumaB < 0)
                {
                    ispis[2, 2] = a_resursi[2];
                    a_resursi[2] -= sumaB;
                    if (a_resursi[0] + a_resursi[2] < 0)
                    {
                        Console.WriteLine("nemoguce");
                    }
                    else
                    {
                        ispis[1, 0] = -sumaB;
                        a_resursi[0] += sumaB;
                    }
                }
                if (a_resursi[3] - sumaAB < 0)
                {
                    ispis[3, 3] = a_resursi[3];
                    a_resursi[3] -= sumaAB;
                    if (a_resursi[0] + a_resursi[3] < 0)
                    {
                        
                    }
                    else
                    {
                        ispis[1, 0] = -sumaB;
                        a_resursi[0] += sumaB;
                    }
                }
            }

            
        }
    }
}