#P0402. 小k的加减游戏

小k的加减游戏

本题文件名为:game.in/game.out

题目描述

小k有三个整数A,B,C,游戏共有N论,操作如下: 每一轮需要选择A,B,C中任意两个数,将其中一个+1,另外一个-1,每次操作后,不允许出现负数。

请问游戏是否可以进行N轮? 如果可以输出yes,并且打印每轮操作中选择+1的那个数。

输入描述

第一行4个数,N,A,B,C。 接下来N行,每行一个字符串,为AB,AC,BC其中一个。

输出描述

如果可以操作N轮,输出Yes,并且把每轮+1的数打印,一个一行。 否则输出No。

输入输出样例

输入 #1

2 1 3 0
AB
AC

输出 #1

Yes
A
C

输入 #2

3 1 0 0
AB
BC
AB

输出 #2

No

输入 #3

8 6 9 1
AC
BC
AB
BC
AC
BC
AB
AB

输出 #3

Yes
C
B
B
C
C
B
A
A

说明/提示

【数据范围】

  • 1N1051 \leq N \leq 10^5
  • 0A,B,C1090 \leq A,B,C \leq 10^9
  • N,A,B,CN, A, B, C 均为整数

【样例1解释】 可以成功地做出两次操作,如下所示:

  • 在第一次操作中,将 1 与 𝐴 相加,并从 𝐵 中减去 1 。 𝐴 变为 2 , 𝐵 变为 2 。
  • 在第二次操作中,将 1 与 𝐶 相加,并从 𝐴 中减去 1 。 𝐶 变为 1 , 𝐴 变为 1。