#include <iostream>
#include <cmath>
#include <string>

using namespace std;

struct Pacijent
{
    char kg;
    int bj;
    int t1,t2;

};
int main()
{
    int n,i,O,A;
    cin >> n;
    cin >> O >> A;
    Pacijent a[n];
    for (i=0; i<n; i++)
    {
        cin >> a[i].kg >> a[i].bj;
        a[i].t1 = a[i].t2 = 0;
    }
    for (i=0; i<n; i++)
    {
        switch (a[i].kg)
        {
        case 'O':
            a[i].t1=a[i].bj;
            a[i].bj =a[i].bj-O+abs(a[i].bj-O);
            O -=a[i].t1;
            if (a[i].bj > 0 || O < 0)
            {
                cout << "1";
                return 0;
            }
            break;
        case 'A':
            a[i].t2 = a[i].bj;
            if ((a[i].t2-A) > 0)
            {
                a[i].t2=A;
            }
            a[i].bj = a[i].bj-A;
            if (a[i].bj < 0)
                a[i].bj += abs(a[i].t2-A);
            A-=a[i].t2;
            if (a[i].bj > 0)
            {
                a[i].t1 = a[i].bj;
                a[i].bj = a[i].bj-O+abs(a[i].bj-O);
                O-=a[i].t1;
                if (a[i].bj > 0 || O < 0)
                {
                    cout << "2";
                    return 0;
                }

            }
            break;
        default:
            cout << "4" << i;
            return 0;

        }
    }
    cout << "moguce" << endl;
    for (i=0; i<n; i++)
    {
        cout << a[i].t1 << " " << a[i].t2 << endl;

    }
    return 0;
}