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

namespace Transfuzija
{
    class Program
    {
        struct Pacijent
        {
            public string grupa;
            public int kolicinaJedinice;
        }

        struct PotrebnaKolicina
        {
            public int kolicina;
        }

        static Pacijent[] Upisi(int N)
        {
            Pacijent[] p = new Pacijent[N];

            for (int i = 0; i < N; i++)
            {
                string[] s = Console.ReadLine().Split();
                p[i].grupa = s[0];
                p[i].kolicinaJedinice = int.Parse(s[1]);
                /*if (s[0] != "A" || s[0] != "B" || s[0] != "O" || s[0] != "AB")
                {
                    Console.WriteLine("Greska");
                    s = Console.ReadLine().Split();
                    p[i].grupa = s[0];
                    p[i].kolicinaJedinice = int.Parse(s[1]);
                }*/
                if (p[i].kolicinaJedinice > Math.Pow(10, 6))
                {
                    //Console.WriteLine("GRESKA");
                    s = Console.ReadLine().Split();
                    p[i].grupa = s[0];
                    p[i].kolicinaJedinice = int.Parse(s[1]);
                }

            }
            return p;
        }

        static void Potrebno(int n, int A, int B, int O, int AB, Pacijent[] p)
        {
            /*string a = A.ToString();
            string b = B.ToString();
            string o = O.ToString();
            string ab = AB.ToString();*/
            PotrebnaKolicina[,] pot = new PotrebnaKolicina[n,4];
            string[] s = new string[4];
            s[0] = O.ToString();
            s[1] = A.ToString();
            s[2] = B.ToString();
            s[3] = AB.ToString();

            /*for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    if (p[i].grupa[0] == s[j][0])
                    {
                        if (p[i].kolicinaJedinice <= int.Parse(s[j]))
                        {
                            pot[i,j].kolicina = p[i].kolicinaJedinice - int.Parse(s[j]);
                        }
                    }
                    else if (p[i].grupa[0] == s[j][0])
                    {

                    }
                }
            }*/

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 4; j++)
                {


                    if (p[i].grupa == "A" && A > 0)
                    {
                        pot[i,j].kolicina = p[i].kolicinaJedinice - A;

                    }
                    else if (p[i].grupa == "A" && A <= 0 && B > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - B;
                    }
                    else if (p[i].grupa == "A" && A <= 0 && B <= 0 && O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - O;
                    }
                    if (p[i].grupa == "A" && A <= 0 && B > 0 && B < p[i].kolicinaJedinice && O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - (O + B);
                    }
                    if (p[i].grupa == "O" && O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - O;
                    }

                    if (p[i].grupa == "AB" && AB > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - AB;

                    }

                    if ((p[i].grupa == "AB" && AB < 0) && A > 0 || B > 0 || O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - A;

                    }

                    if ((p[i].grupa == "AB" && AB < 0) && A <= 0 || B > 0 || O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - B;

                    }

                    if ((p[i].grupa == "AB" && AB < 0) && A <= 0 || B <= 0 || O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - O;
                    }

                    if (p[i].grupa == "B" && B > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - B;
                    }

                    if (p[i].grupa == "B" && B <= 0 && A > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - A;
                    }

                    if (p[i].grupa == "B" && B <= 0 && A <= 0 && O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - O;
                    }


                    if (p[i].grupa == "B" && B <= 0 && A > 0 && A > p[i].kolicinaJedinice && O > 0)
                    {
                        pot[i, j].kolicina = p[i].kolicinaJedinice - (A + O);
                    }


                    Console.Write(Math.Abs(pot[i, j].kolicina));
                }
                Console.WriteLine();
            }


        }

        static void Main(string[] args)
        {
            int N;
            N = int.Parse(Console.ReadLine());
            if (N <= 0 || N >= Math.Pow(10, 4))
            {
                //Console.WriteLine("GRESKA");
                N = int.Parse(Console.ReadLine());
            }
            string[] s = Console.ReadLine().Split();
            int A, B, O, AB;
            O = Convert.ToInt32(s[0]);
            A = Convert.ToInt32(s[1]);
            B = Convert.ToInt32(s[2]);
            AB = Convert.ToInt32(s[3]);
            if (O > Math.Pow(10, 6) || A > Math.Pow(10, 6) || B > Math.Pow(10, 6) || AB > Math.Pow(10, 6))
            {
                s = Console.ReadLine().Split();
                O = Convert.ToInt32(s[0]);
                A = Convert.ToInt32(s[1]);
                B = Convert.ToInt32(s[2]);
                AB = Convert.ToInt32(s[3]);
            }

            Pacijent[] pacijenti = Upisi(N);
            /*int[] kolicine = new int[4];
            kolicine[0] = O;
            kolicine[1] = A;
            kolicine[2] = B;
            kolicine[3] = AB;*/

            Potrebno(N, A, B, O, AB, pacijenti);

            Console.ReadKey();
        }
    }
}