机房里有四个人("A","B","C","D")正在玩UNO,下面是UNO的具体规则(规则可能与正统规则并不相同,所以请您仔细阅读题面):
UNO牌分两类牌:数字牌和功能牌。
数字牌:数字牌由红黄蓝绿("R","Y","B","G")4色组成,每色都有数字牌"0"-"9"。
功能牌:功能牌也由红黄蓝绿("R","Y","B","G")4色组成。它们的名称分别为"跳过"、"反转"、"+2"。它们有着特殊的功能。
跳过("S"):打出跳过后,你的下家不能出牌,轮到再下家出牌。
反转("R"):打出反转后,当前出牌时针顺序将反转(顺时针变逆时针,逆时针变顺时针),轮到下家(原来的上家)出牌。
+2牌("+"):打出+2后,下家将被罚摸2张牌,并且不能出牌,直接轮到再下家出牌。
游戏开始时,每个玩家开始会拥有5张牌,接着庄家(一定是"A")开始出牌。出牌的初始顺序是顺时针("A->B->C->D->A")。
出牌规则:必须和牌堆最底部的一张牌(参照牌)的颜色或图案相同(如果是数字牌则为数字相同,功能牌则为功能相同),每次只可以出1张牌,打出的牌会插入至牌堆的底部(即成为最底部的一张牌)。
请注意:当游戏开始的时候,如果牌堆底部的那一张牌(参照牌)是一张功能牌,那这张功能牌不会生效(举例:如果开场的牌堆底部是一张反转牌,那么出牌顺序依然是顺时针)。
出牌规则举例:假设参照牌为"R3",那你可以出:红色的所有牌(颜色相同),所有颜色的3(数字相同);假设参照牌为"Y+2",那你可以出:黄色的所有牌(颜色相同),其他颜色的+2(功能相同)。
若玩家无牌可出,则从牌堆顶部抽1张牌(即抽取牌堆最顶部的牌),若这张牌可出(符合要求)那么就需要立即打出,否则就跳过,让下家出牌。
UNO的获胜条件是:某个玩家出完自己的所有的牌,当某个玩家获胜的时候,游戏结束。
现在我们会告诉你牌堆和每个人起始拥有的五张手牌,请你编写一个程序,告诉我们谁最终会胜利(输入数据保证一定会出现一个胜者并且不会出现牌堆里的牌数量不够的情况)。
鉴于大家头脑简单,四肢发达,因此四个人的出牌策略都是一致的,下面是四个人的出牌策略:
如果当前可以打出一张数字牌,那么他会打出数字编号最小的那一张牌,如果有多张编号最小的牌,那么按照("R","Y","B","G")的颜色优先级打出;
否则,如果当前可以打出一张功能牌,那么他会按照("+2","R","S"),的优先级打出一张功能牌,如果有多张优先级相同的功能牌,那么他会按照("R","Y","B","G")的颜色优先级打出对应的功能牌。
举例:
如果上一张是"Y+2",那么打出的牌的优先级是"Y0"<"Y9"<"R+2"<"Y+2"<"B+2"<"G+2"<"YR"<"YS"。
如果上一张是"Y4",那么打出的牌的优先级是"Y0"<"Y3"<"R4"<"Y4"<"B4"<"G4"<"Y5"<"Y9"
<"Y+2"<"YR"<"YS"。
每次玩家都会打出优先级最小的牌,如果上一张是"Y4",而玩家手上有"R4"和"Y4",那么玩家会打出"R4"。
每张卡牌由两个字符表示,第一个字符表示颜色("R","Y","B","G"),第二个字符表示牌值("0"-"9","+","R","S")。
输入的前四行分别表示玩家"A","B","C","D"的手牌,每行有5个长度为2的字符串,两个字符串间由一个空格隔开。
第五行一个整数$$$n$$$ ($$$n \leq 3\times 10^5$$$),表示牌堆的大小。
接下来一行,有$$$n$$$个长度为2的字符串,表示牌堆中的$$$n$$$张牌,从左到右依次是牌顶到牌底的牌,两个字符串间由一个空格隔开。
输入数据保证一定会出现一个胜者并且不会出现牌堆里的牌数量不够的情况。
输入数据保证游戏结束时打出的手牌数小于$$$8 \times 10^5$$$。
输出一个字符("A","B","C","D"),表示胜利者。
Y6 Y6 B7 GS R+ G5 Y7 R1 B2 BR R8 Y+ GS BR B5 B0 RS G2 G3 G6 30 R4 YS B8 RR Y7 G7 G4 G0 G+ R5 R2 R1 R7 Y6 B9 R1 G2 B7 B7 G5 B6 Y0 Y3 RR G0 G8 B0 G6 G9 Y2
C
G1 G0 Y6 G9 YR G9 G8 BR G7 B5 R0 Y2 B6 BS YS R8 R+ G8 RS G3 30 B4 B9 B6 G8 R2 Y9 R7 BR Y2 GS G4 YS GS G6 B8 Y6 R4 B6 R+ Y4 Y2 G8 G4 R7 G9 R2 G9 Y1 G0 Y6
D
G3 G7 R7 R1 R3 Y3 B9 Y8 B0 BR Y5 R7 Y8 Y7 G1 YR B9 R7 R0 Y4 30 Y4 Y8 YR Y8 R0 R8 G6 B2 G3 R6 R7 B5 R4 R8 YR B4 G2 GS R3 B5 G6 B3 R6 RS Y6 B1 Y9 B1 B1 Y+
D
R3 B6 R3 B6 B9 G4 B1 R5 GR R4 R7 Y1 G3 G7 B8 YR GS YS R+ RS 30 B8 B1 R1 B3 Y+ R4 Y1 R+ R2 G0 G3 R2 B5 Y5 R3 BR YR R7 G2 B1 BR G2 B9 G4 B1 G5 G6 B0 R4 R1
C
GR R9 G7 YR B8 G0 B5 Y0 Y2 R3 Y4 B8 B3 R9 GR G5 G8 B8 R5 G4 30 YS RS G2 RR G+ R1 R7 G6 BS Y6 BS YS GR RS G4 Y6 Y5 Y7 B0 YS G3 B2 R7 R9 RS Y2 G3 R9 R9 GR
A
由于排版原因,样例输入中牌顶到牌底的牌加入了换行符,实际测试用例中的输入为一行。
本题的样例解释由附件形式单独给出。