#include <iostream>

enum{ O = 0, A, B, AB };

int main(){
    int n;
    int o, a, b, ab;
    std::string* potrebneKrvneGrupe = new std::string[n];
    int* potrebnaKolicina = new int[n];

    std::cin >> n >> o >> a >> b >> ab;
    for(int i = 0; i < n; i++){
        std::cin >> potrebneKrvneGrupe[i] >> potrebnaKolicina[i];
    }

    int (*rezultat)[4] = new int[n][4];

    for(int i = 0; i < n; i++){
        if(potrebneKrvneGrupe[i] == "O"){
            if(o < potrebnaKolicina[i]){
                std::cout << "nemoguce";
                return -1;
            }

            rezultat[i][O] = potrebnaKolicina[i];
            rezultat[i][A] = 0;
            rezultat[i][B] = 0;
            rezultat[i][AB] = 0;

            o -= potrebnaKolicina[i];
        }
    }

    for(int i = 0; i < n; i++){
        if(potrebneKrvneGrupe[i] == "A"){
            if(a + o < potrebnaKolicina[i]){
                std::cout << "nemoguce";
                return -1;
            }

            rezultat[i][B] = 0;
            rezultat[i][AB] = 0;

            if(a > potrebnaKolicina[i]){
                rezultat[i][O] = 0;
                rezultat[i][A] = potrebnaKolicina[i];

                a -= potrebnaKolicina[i];
            } else{
                rezultat[i][O] = potrebnaKolicina[i] - a;
                rezultat[i][A] = a;

                o -= potrebnaKolicina[i] - a;
                a = 0;
            }

        } else if(potrebneKrvneGrupe[i] == "B"){
            if(b + o < potrebnaKolicina[i]){
                std::cout << "nemoguce";
                return -1;
            }

            rezultat[i][A] = 0;
            rezultat[i][AB] = 0;

            if(b > potrebnaKolicina[i]){
                rezultat[i][O] = 0;
                rezultat[i][B] = potrebnaKolicina[i];

                b -= potrebnaKolicina[i];
            } else{
                rezultat[i][O] = potrebnaKolicina[i] - b;
                rezultat[i][B] = b;

                o -= potrebnaKolicina[i] - b;
                b = 0;
            }
        }
    }

    for(int i = 0; i < n; i++){
        if(potrebneKrvneGrupe[i] == "AB"){
            if(o + a + b + ab < potrebnaKolicina[i]){
                std::cout << "nemoguce";
                return -1;
            }

            if(ab > potrebnaKolicina[i]){
                rezultat[i][O] = 0;
                rezultat[i][A] = 0;
                rezultat[i][B] = 0;
                rezultat[i][AB] = potrebnaKolicina[i];

                ab -= potrebnaKolicina[i];
            } else if(ab + b > potrebnaKolicina[i]){
                rezultat[i][O] = 0;
                rezultat[i][A] = 0;
                rezultat[i][B] = potrebnaKolicina[i] - ab;
                rezultat[i][AB] = ab;

                b -= potrebnaKolicina[i] - ab;
                ab = 0;
            } else if(ab + b + a > potrebnaKolicina[i]){
                rezultat[i][O] = 0;
                rezultat[i][A] = potrebnaKolicina[i] - b - ab;
                rezultat[i][B] = b;
                rezultat[i][AB] = ab;

                a -= potrebnaKolicina[i] - b - ab;
                b = 0;
                ab = 0;
            } else{
                rezultat[i][O] = potrebnaKolicina[i] - a - b - ab;
                rezultat[i][A] = a;
                rezultat[i][B] = b;
                rezultat[i][AB] = ab;

                o -= potrebnaKolicina[i] - a - b - ab;
                a = 0;
                b = 0;
                ab = 0;
            }
        }
    }

    std::cout << "moguce" << std::endl;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < 4; j++){
            std::cout << rezultat[i][j];
            if(j != 3)
                std::cout << " ";
        }
        if(i != n - 1)
            std::cout << std::endl;
    }
}