编程女神正在翻阅一本厚厚的日志,这是她神圣的编程祭坛的年度访客记录。日志中也记录了她自己到访祭坛的时间。
这座祭坛吸引了来自世界各地的程序员,因为女神每年都会选择一名访客,并赐予其奇迹般的编程力量。获得恩赐的程序员将从那些在女神在场期间在祭坛停留时间最长的程序员中选出。曾经有一些热心的访客在祭坛停留了很长时间,但由于女神在他们访问期间不在场,因此未能获得恩赐。
现在,你的任务是编写一个程序,找出获得恩赐的程序员在女神在场期间,在祭坛停留的总时间。
输入格式
输入包含多个数据集。数据集的数量少于 100。每个数据集的格式如下:
$$ \begin{gather*} n \\ M_1/D_1 \ h_1:m_1 \ e_1 \ p_1 \\ M_2/D_2 \ h_2:m_2 \ e_2 \ p_2 \\ \vdots \\ M_n/D_n \ h_n:m_n \ e_n \ p_n \end{gather*} $$
每个数据集的第一行包含一个正偶数 $n \le 1000$,表示日志的行数。接下来是 $n$ 行由空格分隔的数据,其中:
- $M_i/D_i$ 标识访问的月份和日期。
- $h_i:m_i$ 表示进入或离开祭坛的时间。
- $e_i$ 为
I(表示进入,Entrance)或O(表示离开,Exit)。 - $p_i$ 标识访客。
日志中的所有行都采用固定列宽格式。月份和日期均由两位数字表示。例如,4 月 1 日表示为 04/01,而不是 4/1。时间采用 24 小时制,小时占两位数字,后跟一个冒号和两位分钟数字,例如 09:13,而不是 9:13。程序员由一个唯一的 3 位数字 ID 标识。女神的进入和离开也使用相同的格式记录,其 ID 为 000。
日志中的所有行均按日期和时间升序排序。由于祭坛在午夜关闭,因此祭坛在 00:00 会被清空。你可以认为输入中的每个时间都在 00:01 到 23:59 之间(含首尾)。
程序员可能会在进入祭坛后立即离开。在这种情况下,进入和离开的时间相同,此类访问的时长视为 0 分钟。你可以认为对于此类进入和离开记录,对应进入的行在输入中会比对应离开的行更早出现。你可以认为日志中至少会出现一名程序员。
输入结束由仅包含一个零(0)的一行表示。
输出格式
对于每个数据集,输出获得恩赐的程序员的总恩赐时间。程序员的恩赐时间是指其在女神在场期间在祭坛停留的时间长度。获得恩赐的程序员是所有程序员中总恩赐时间最长的那个人。输出应以分钟为单位表示。注意,编程女神本身不是程序员。
样例
输入样例 1
14 04/21 09:00 I 000 04/21 09:00 I 001 04/21 09:15 I 002 04/21 09:30 O 001 04/21 09:45 O 000 04/21 10:00 O 002 04/28 09:00 I 003 04/28 09:15 I 000 04/28 09:30 I 004 04/28 09:45 O 004 04/28 10:00 O 000 04/28 10:15 O 003 04/29 20:00 I 002 04/29 21:30 O 002 20 06/01 09:00 I 001 06/01 09:15 I 002 06/01 09:15 I 003 06/01 09:30 O 002 06/01 10:00 I 000 06/01 10:15 O 001 06/01 10:30 I 002 06/01 10:45 O 002 06/01 11:00 I 001 06/01 11:15 O 000 06/01 11:30 I 002 06/01 11:45 O 001 06/01 12:00 O 002 06/01 12:15 I 000 06/01 12:30 I 002 06/01 12:45 O 000 06/01 13:00 I 000 06/01 13:15 O 000 06/01 13:30 O 002 06/01 13:45 O 003 0
输出样例 1
45 120