output_description: If it is possible to make N choices under the condition, print `Yes`;
  otherwise, print `No`.
  
  Also, in the former case, show one such way to make the choices in the
  subsequent N lines. The (i+1)-th line should contain the name of the variable
  (`A`, `B`, or `C`) to which you add 1 in the i-th choice.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N A B C
      s_1
      s_2
      :
      s_N
attempt: N, A, B, C = map(int, input().split())
  s = []
  for i in range(N):
      s.append(input())
  
  print("No")
  
problem_description: Statement
  
  There is a game that involves three variables, denoted A, B, and C.
  
  As the game progresses, there will be N events where you are asked to make a
  choice. Each of these choices is represented by a string s_i. If s_i is `AB`,
  you must add 1 to A or B then subtract 1 from the other; if s_i is `AC`, you
  must add 1 to A or C then subtract 1 from the other; if s_i is `BC`, you must
  add 1 to B or C then subtract 1 from the other.
  
  After each choice, none of A, B, and C should be negative.
  
  Determine whether it is possible to make N choices under this condition. If it
  is possible, also give one such way to make the choices.
samples: [{"input": "2 1 3 0\n    AB\n    AC", "output": "Yes\n    A\n    C\n    \n\nYou can successfully make two choices, as follows:\n\n  * In the first choice, add 1 to A and subtract 1 from B. A becomes 2, and B becomes 2.\n  * In the second choice, add 1 to C and subtract 1 from A. C becomes 1, and A becomes 1.\n\n* * *"}, {"input": "3 1 0 0\n    AB\n    BC\n    AB", "output": "No\n    \n\n* * *"}, {"input": "1 0 9 0\n    AC", "output": "No\n    \n\n* * *"}, {"input": "8 6 9 1\n    AC\n    BC\n    AB\n    BC\n    AC\n    BC\n    AB\n    AB", "output": "Yes\n    C\n    B\n    B\n    C\n    C\n    B\n    A\n    A"}]