一场古老的程序设计竞赛即将拉开帷幕,它由著名的 ACM(大都会航空中心,Aeronautic Centre of Metković)主办。将有恰好 $N$ 支队伍争夺大奖,其中包括克罗地亚的金牌三人组:Paula、Marin 和 Josip。比赛形式非常标准:当飞行员进行特技飞行时,副驾驶阅读题目并尝试将解法传递给被牢牢绑在飞机外侧的“码农”主程序员。
比赛包含 $M$ 道不同的题目,队伍按解题数量(降序)进行排名。
解题数量相同的队伍按所谓的罚时(升序)进行排名。某支队伍的总罚时是其所有正确通过的题目的罚时之和。一道正确通过的题目的罚时等于通过该题的时间(从比赛开始起算),加上该题每次错误提交额外增加的 20 分钟。队伍不会在通过某道题后继续提交该题,且每支队伍对每道题的最多提交次数为 9 次。如果多支队伍的解题数和罚时均相同,则在最终排名中按队名的字典序(升序)排列。
比赛持续五个小时。在前四个小时内,所有队伍都可以看到实时榜单,其中包含每支队伍每道题的状态(提交次数、是否通过以及通过时间)。在这四个小时内,每次提交后队伍的排名都会自动更新。然而,在最后一个小时内,榜单将会冻结,即在对新的提交进行评测后,队伍的排名不会更新。在此期间,每支队伍都知道自己提交的评测结果,但不知道其他队伍提交的评测结果。他们只知道其他队伍提交了哪些题目、提交了多少次以及每道题最后一次提交的时间。
比赛已经结束,榜单即将解冻。我们的主角,名为 NijeZivotJedanACM 的队伍需要你的帮助。他们想知道在榜单解冻后,他们在排行榜上可能取得的最差名次。帮帮他们吧!
输入格式
第一行包含两个整数 $N$ ($1 \le N \le 1000$) 和 $M$ ($1 \le M \le 15$),含义如题面所述。
接下来的 $N$ 行表示冻结的榜单。每行以一个队名(由大小写英文字母组成,最多包含 20 个字符,所有队名均不相同)开始,后面跟着 $M$ 个由空格隔开的字符串,表示该队伍每道题的状态。
这些字符串的格式为 SX/V,其中:
S表示题目的状态 ——+表示题目正确通过,-表示题目未正确通过,?表示最后一次提交是在榜单冻结期间发送的。X表示该队伍对该题目的提交次数。如果该题没有提交记录,则省略X。V表示该队伍对该题目发送最后一次提交的时间。格式为HH:MM:SS(带前导零),且小于 5 小时。如果题目未正确通过(状态为-),则整个/V部分将被省略。
最后一行包含我们主角队伍 NijeZivotJedanACM 的解冻后(最终)状态。
输出格式
在第一行也是唯一一行中,输出我们的主角队伍在榜单解冻后可能取得的最差名次。
数据范围
对于占总分 20 分的测试数据,输入中不包含 ? 字符。
样例
输入样例 1
2 1 NijeZivotJedanACM - ZivotJESTJedanACM - NijeZivotJedanACM -
输出样例 1
1
输入样例 2
3 2 StoJeZivot ?1/04:00:00 +1/02:04:06 JeLiZivotJedanACM ?1/04:59:59 - NijeZivotJedanACM ?1/04:42:43 - NijeZivotJedanACM +1/04:42:43 -
输出样例 2
2
输入样例 3
7 4 NisamSadaNistaDonio +1/03:59:59 +3/03:42:02 +2/00:14:59 ?1/04:56:12 JeLiMojKockaSeUmio ?4/04:00:00 -3 +1/00:10:01 +9/03:04:42 OstaviDobroJe ?4/04:59:59 -1 +2/00:24:15 +8/03:24:45 DobroJeOstavi +1/01:42:53 - ?9/04:58:23 ?1/04:34:43 NijeZivotJedanACM ?2/04:50:05 ?4/04:32:12 +2/01:32:45 ?1/04:59:59 KoSeToSeta ?1/04:23:32 - +9/01:00:00 -9 SipSipSipSipSipSip - - - ?9/04:00:00 NijeZivotJedanACM -2 +4/04:32:12 +2/01:32:45 +1/04:59:59
输出样例 3
3
说明
样例 1 说明: 榜单解冻后不会发生任何变化。因此,我们的主角队伍将保持在第一名!
样例 2 说明:
在最坏的情况下,我们的主角队伍只会输给 StoJeZivot 队,从而获得第二名。
样例 3 说明:
在最坏的情况下,我们的主角队伍将输给 NisamSadaNistaDonio 和 JeLiMojKockaSeUmio 两支队伍,从而获得第三名。