#iroha2019day4a. [iroha2019_day4_a]あるよるのできごと

[iroha2019_day4_a]あるよるのできごと

ストーリー

开始的那天晚上,我和彩莉一起沉迷于一个叠彩色方块的游戏中。那个游戏并没有什么特别之处,但却存在许多bug。例如,本应该消失的方块没有消失,风吹了起来方块飞了起来,奇怪的浮岛出现了。

那个晚上,在我和彩莉的在线对战中,对战结果很奇怪。「计分部分也存在bug吧?」为了确认彩莉的话是否属实,我决定核实一下。

问题文

这个游戏只支持4人游戏,每一轮比赛中,名次排在第1到第3位的玩家将获得相应的得分。每一轮比赛不会以平局结束。在积分显示画面上,可以看到每个玩家得分累加的记录。

例如,如果有一个玩家的得分记录显示为「1 2 2」,那么可以知道该玩家在某一轮中获得了第1名,在以后的某一轮中获得了第2名,在以后的某一轮中又获得了第2名,而在以后的轮次中没有获得得分。

我和彩莉进行了N轮对战。对于每个玩家,输入N轮的得分数据,请输出是否存在这样的游戏结果。如果存在,请输出每一轮对战结果的示例。

制约条件

  • 输入为整数。
  • 0A,B,C,D1000 \leq A, B, C, D \leq 100
  • 1N1001 \leq N \leq 100
  • 1ai31 \leq a_i \leq 3 (1iA)(1 \leq i \leq A)
  • 1bi31 \leq b_i \leq 3 (1iB)(1 \leq i \leq B)
  • 1ci31 \leq c_i \leq 3 (1iC)(1 \leq i \leq C)
  • 1di31 \leq d_i \leq 3 (1iD)(1 \leq i \leq D)

输入

输入共有5行。 第1行输入轮次数N、玩家1获得得分次数A、玩家2获得得分次数B、玩家3获得得分次数C、玩家4获得得分次数D。 第2行输入与玩家1获得得分相关的N轮排名。 第3至5行依此类推输入与玩家2至4获得得分相关的信息。 请参考下面的示例。

N A B C D a_1 a_2 \cdots a_A b_1 b_2 \cdots b_B c_1 c_2 \cdots c_C d_1 d_2 \cdots d_D

输出

如果不存在满足输入条件的对战结果,请输出No。 如果存在满足输入条件的对战结果,请输出Yes,并在接下来的N行中,输出每一轮比赛中排名第4的玩家编号。如果有多个满足输入条件的输出结果,可以输出任意一个。


输入例1

1 1 1 1 0
1
3
2

输出例1

Yes
4

输入例2

1 0 0 0 0




输出例2

No

输入例3

10 8 7 8 7
1 3 1 3 1 3 1 2
3 3 1 2 3 3 3
2 2 2 1 1 2 2 1
1 2 3 2 2 1 3

输出例3

Yes
4
2
4
3
3
2
1
4
1
2```

---

### 解说

[解说](https://img.atcoder.jp/iroha2019-day4/editorial-A.pdf)