和Mo2学长一起玩骰子
题号:NC216098
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

今天是圣诞节,Mo2学长和几个朋友们相约一起出去吃圣诞大餐,饭后小菁同学说这么无聊不如我们来玩骰子吧!!!

可是普通的骰子比大小太没有意思了,于是小菁发明了一种新玩法,在场共有nn<=100)名同学,每个人给3个骰子。每个骰子六个面标有数值123456,数值之间有优先级

1、对于数值的优先级:奇数的优先级比偶数大;奇数之间数值小的优先级大,偶数之间数值大的优先级小;

2、三个骰子点数相同,称为"豹子",豹子之间按相同点数优先级比较大小。

3、如果只有两个骰子点数相同,称为"对子",对子之间按相同点数优先级比较大小。对子的点数优先级相同,就看剩余那个骰子的点数的优先级,优先级大的排在前面。

4、其他情况称为"点子",点子按点数和比较大小,大的在前。

5、“豹子”比“对子”、“点子”大,“对子“比“点子”大。

6、若摇出的骰子点数一样,则按姓名字符串的ASCII值排序,ASCII值大的排在前面;

注:s仅包含字符’0’-‘9’ , ’A’-‘Z’ , ’a’-‘z’;

Mo2学长想知道对于每一场游戏,他能不能拿到第一;给出每一轮掷骰子的情况,请你判断Mo2学长是不是第一;

输入描述:

第一行为一个n(n<=100),表示n个人参与(Mo2必定参与);

之后的n行,每行给出参与者的名字即字符串s(s长度小于10且s不重复),以及三个骰子的数值a、b、c(1<=a,b,c<=6);

输出描述:

如果Mo2是第一名,输出“YES“,空格后输出最后一名的名字(Mo2要嘲笑他);

如果Mo2不是第一名,输出“No“,空格后输出一个数字表示Mo2学长的名次;

示例1

输入

复制
10
Mo2 1 1 1
LJ 5 5 4
LQ 3 5 6
SXY 5 5 3
GJM 3 3 3
YHB 4 4 4
PHC 1 2 3
LCS 1 2 3
XWX 4 4 3
ZJ 4 4 1

输出

复制
YES LCS

说明


示例2

输入

复制
8
Mo2 3 3 2
LQ 1 5 1
LJ 6 6 5
SXY 1 2 3
YHB 3 3 3
PHC 5 6 2
JIUSHU 5 6 5
LCS 3 3 2

输出

复制
No 3

说明


备注: