using System;

class Program
{
    static bool dali(int o1, int a1, int b1, int ab1, int o, int a, int b, int ab)
    {
        if (o1 > o)
        {
            return false;
        }
        else
        {
            if (o1 > 0)
            {
                o = o - o1;
                o1 = 0;
            }
            if (a1 > 0)
            {
                if (a1 > a + o)
                {
                    return false;
                }
                else
                {
                    if (o + a == a1)
                    {
                        o1 = 0;
                        a1 = 0;
                        o = 0;
                        a = 0;
                    }
                    else if (o + a > a1 && a1 > 0)
                    {
                        if (a >= a1)
                        {
                            a = a - a1;
                            a1 = 0;
                        }
                        else
                        {
                            o = o - (o - a);
                            a = 0;
                            a1 = 0;
                        }
                    }
                }
            }
            if (b1 > 0)
            {
                if (b1 > b + o)
                {
                    return false;
                }
                else
                {
                    if (o + b == b1)
                    {
                        o1 = 0;
                        b1 = 0;
                        o = 0;
                        b = 0;
                    }
                    else if (o + b > b1 && b1 > 0)
                    {
                        if (b >= b1)
                        {
                            b = b - b1;
                            b1 = 0;
                        }
                        else
                        {
                            o = o - (o - b);
                            b = 0;
                            b1 = 0;
                        }
                    }
                }
            }
        }
        return true;
    }

    static void Main(string[] args)
    {
        int n = int.Parse(Console.ReadLine());
        var jeajea = Console.ReadLine().Split();
        int o = int.Parse(jeajea[0]);
        int a = int.Parse(jeajea[1]);
        int b = int.Parse(jeajea[2]);
        int ab = int.Parse(jeajea[3]);
        int o1 =0, a1=0, b1=0, ab1=0;
        string c;
        int x;
        int k = 0;
        string[] reci;
        string[] reci1 = new string[n];
        int[] l = new int[n];
        for (int i = 0;i<n;i++)
        {
            reci = Console.ReadLine().Split();
            c = reci[0];
            x = int.Parse(reci[1]);
            reci1[i] = c;
            l[i] = x;
            if (c == "O")
            {
                o1+=x;
            }
            else if (c == "A")
            {
                a1+=x;
            }
            else if (c == "B")
            {
                b1+=x;
            }
            else if (c == "AB")
            {
                ab1+=x;
            }
        }
        if (dali(o1, a1, b1, ab1, o, a, b, ab))
        {
            Console.WriteLine("moguce");
            for (int j = 0; j < n; j++)
            {
                if (reci1[j] == "O")
                {
                    o1 = l[j];
                    a1 = 0;
                    b1 = 0;
                    ab1 = 0;
                    Console.WriteLine("{0} {1} {2} {3}", o1, 0, 0, 0);
                    o = o - o1;
                    o1 = 0;
                }
                else if (reci1[j] == "A")
                {
                    o1 = 0;
                    a1 = l[j];
                    b1 = 0;
                    ab1 = 0;
                    if (o + a == a1)
                    {
                        Console.WriteLine("{0} {1} {2} {3}", o, a, 0, 0);
                        o1 = 0;
                        a1 = 0;
                        o = 0;
                        a = 0;
                    }
                    else if (o + a > a1 && a1 > 0)
                    {
                        if (a >= a1)
                        {
                            Console.WriteLine("{0} {1} {2} {3}", 0, a1, 0, 0);
                            a = a - a1;
                            a1 = 0;
                        }
                        else
                        {
                            Console.WriteLine("{0} {1} {2} {3}", o - a1, a, 0, 0);
                            o = o - (o - a);
                            a = 0;
                            a1 = 0;
                        }
                    }

                }
                else if (reci1[j] == "B")
                {
                    o1 = 0;
                    a1 = 0;
                    b1 = l[j];
                    ab1 = 0;
                    if (o + b == b1)
                    {
                        Console.WriteLine("{0} {1} {2} {3}", o, 0, b, 0);
                        o1 = 0;
                        b1 = 0;
                        o = 0;
                        b = 0;
                    }
                    else if (o + b > b1 && b1 > 0)
                    {
                        if (b >= b1)
                        {
                            Console.WriteLine("{0} {1} {2} {3}", 0, 0, b1, 0);
                            b = b - b1;
                            b1 = 0;
                        }
                        else
                        {
                            Console.WriteLine("{0} {1} {2} {3}", o - b1, 0, b, 0);
                            o = o - (o - b);
                            b = 0;
                            b1 = 0;
                        }
                    }
                }
                else if (reci1[j] == "AB")
                {
                    o1 = 0;
                    a1 = 0;
                    b1 = 0;
                    ab1 = l[j];
                }
            }
        }
        else
        {
            Console.WriteLine("nemoguce");
        } 
    }
}