#include <iostream>
#include <string>

using namespace std;

class pacijent
{
private:
    string krvna_grupa;
    int doza;

public:
    pacijent()
    {
        krvna_grupa = "Nema";
        doza = 0;
    }

    pacijent(string krvna_grupa, int doza)
    {
        this->krvna_grupa = krvna_grupa;
        this->doza = doza;
    }

	void unos();

    string get_krvna_grupa()
    {
        return krvna_grupa;
    }

    int get_doza()
    {
        return doza;
    }

    void dec_doza(){
        doza--;
    }
};

void
pacijent::unos()
{
    cin >> krvna_grupa >> doza;
}

main()
{
    pacijent p[10000];
    int zA, zO;
    int n;
    bool mogucnost;
    cin >> n;
    cin >> zA >> zO;
    for (int i = 0; i < n; i++)
    {
        p[i].unos();
    }
    
    int pom=n+1;
	for(int i=0; i<n-1 ; i++){
		for(int j=i+1 ; j<n ; j++){
			if(p[i].get_krvna_grupa() < p[j].get_krvna_grupa() ){
				p[pom]=p[i];
				p[i]=p[j];
				p[j]=p[pom];
			}
		}
	}
	
    for (int i = 0; i < n ; i++)
    {   
         if (p[i].get_krvna_grupa() == "O" && p[i].get_doza() > 0)
        {
            while(p[i].get_doza() > 0 && zO > 0)
            {
                zO--;
                p[i].dec_doza();
            }
            if(p[i].get_doza() > 0)
			mogucnost=false;
			else mogucnost=true;
        }
        if (p[i].get_krvna_grupa() == "A" && p[i].get_doza() > 0)
        {
            while(p[i].get_doza() > 0 && zA > 0)
            {
                p[i].dec_doza();
                zA--;
            }
	       	while(p[i].get_doza() > 0 && zO > 0)
	            {
	                zO--;
	                p[i].dec_doza();
	            }
			
			if(p[i].get_doza() > 0)
			mogucnost=false;
			else mogucnost=true;
        }
    }
    
	if(mogucnost)
	cout<<"Moguce";
	else
	cout<<"Nemoguce";
}