using System;

class Program {

  struct Pacijent
  {
    public string grupa;
    public int brJedinica;
    public int[] brGrupa;
  }

  public static void Main (string[] args) {
    int N = Convert.ToInt32(Console.ReadLine());
    string[] s = Console.ReadLine().Split();
    int O = Convert.ToInt32(s[0]), A = Convert.ToInt32(s[1]), B = Convert.ToInt32(s[2]), AB = Convert.ToInt32(s[3]);

    Pacijent[] pacijenti = new Pacijent[N];
    for(int i = 0;i < N; i++)
    {
      s = Console.ReadLine().Split();
      pacijenti[i].grupa = s[0];
      pacijenti[i].brJedinica = Convert.ToInt32(s[1]);
      jed[i] = pacijenti[i].brJedinica;
      pacijenti[i].brGrupa = new int [4];
    }

    for(int i = 0;i < N; i++)
    {
      if(pacijenti[i].grupa == "O")
      {
        pacijenti[i].brGrupa[0] += pacijenti[i].brJedinica;
        O -= pacijenti[i].brJedinica;
        pacijenti[i].brJedinica = 0;
      }
      else if(pacijenti[i].grupa == "A")
      {
        if(A >= pacijenti[i].brJedinica)
        {
          A -= pacijenti[i].brJedinica;
          pacijenti[i].brGrupa[1] += pacijenti[i].brJedinica;
          pacijenti[i].brJedinica = 0;
        }
        else
        {
          pacijenti[i].brGrupa[1] += A;
          pacijenti[i].brJedinica -= A;
          A = 0;
          pacijenti[i].brGrupa[0] += pacijenti[i].brJedinica;
          O -= pacijenti[i].brJedinica;
          pacijenti[i].brJedinica = 0;
        }
      }
      else if(pacijenti[i].grupa == "B")
      {
        if(B >= pacijenti[i].brJedinica)
        {
          B -= pacijenti[i].brJedinica;
          pacijenti[i].brGrupa[2] += pacijenti[i].brJedinica;
          pacijenti[i].brJedinica = 0;
        }
        else
        {
          pacijenti[i].brGrupa[2] += B;
          pacijenti[i].brJedinica -= B;
          B = 0;
          pacijenti[i].brGrupa[0] += pacijenti[i].brJedinica;
          O -= pacijenti[i].brJedinica;
          pacijenti[i].brJedinica = 0;
        }
      }
      else
      {
        if(AB >= pacijenti[i].brJedinica)
        {
          AB -= pacijenti[i].brJedinica;
          pacijenti[i].brGrupa[3] += pacijenti[i].brJedinica;
          pacijenti[i].brJedinica = 0;
        }
        else
        {
          pacijenti[i].brGrupa[3] += AB;
          pacijenti[i].brJedinica -= AB;
          AB = 0;
          if(A >= pacijenti[i].brJedinica)
          {
            A -= pacijenti[i].brJedinica;
            pacijenti[i].brGrupa[1] += pacijenti[i].brJedinica;
            pacijenti[i].brJedinica = 0;
          }
          else
          {
            pacijenti[i].brGrupa[1] += A;
            pacijenti[i].brJedinica -= A;
            A = 0;
          }
          if(B >= pacijenti[i].brJedinica)
          {
            B -= pacijenti[i].brJedinica;
            pacijenti[i].brGrupa[2] += pacijenti[i].brJedinica;
            pacijenti[i].brJedinica = 0;
          }
          else
          {
            pacijenti[i].brGrupa[2] += B;
            pacijenti[i].brJedinica -= B;
            B = 0;
          }
          if(pacijenti[i].brJedinica > 0)
          {
            pacijenti[i].brGrupa[0] += pacijenti[i].brJedinica;
            O -= pacijenti[i].brJedinica;
            pacijenti[i].brJedinica = 0;
          }
        }
      }

    }

    if(O < 0)
    {
      Console.WriteLine("nemoguce");
    }
    else
    {
      Console.WriteLine("moguce");
      for(int i = 0;i < N; i++)
      {
        for(int j = 0;j < 4; j++)
        {
          Console.Write(pacijenti[i].brGrupa[j] + " ");
        }
        Console.WriteLine();
      }
    }
  }
}