Steel of Heart
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

                                                              
XPL 是一名老年大乱斗玩家。最近新赛季推出了一件能够让英雄无限叠加生命值的新装备------。对于变大变肉有着谜之执念的 XPL 当然义无反顾地加入了钢门。

这天,XPL 兴奋地对室友说自己刚玩了一把''爽局'',室友好奇 XPL 的英雄最终拥有多少生命值,粗心的 XPL 却说他已经忘了。好在室友从他的游戏文件中找到了那一局的对局日志、英雄的初始生命值 H_1 和成长生命值 H_2,所以我们可以借助这些信息计算出 XPL 那一局最终的生命值,但是室友太菜了,所以向你寻求帮助,你可以告诉他答案吗?

一篇对局日志包含了 m 个事件,且保证只会出现以下三种事件:
  1. ,表示英雄在 mmss 秒购买了心之钢,同时获得了心之钢的属性与被动技能。
    • 获得 800 生命值。
    • 被动-庞然吞食:对敌方英雄的攻击会造成 施法者当前生命值的伤害,并为你提供相当于10%该伤害(向下取整)的生命值。该技能有30秒冷却时间,且对于每个敌方英雄的冷却时间相互独立举个例子,你于 0001 秒对敌方英雄 x 触发了心之钢,这个效果便在 0002 秒 --- 0030 秒对于敌方英雄 x 处于冷却时间,同时不影响你对其余敌方英雄触发心之钢,直到 0031 秒可再次对 x 触发。
  2. ,表示英雄在 mmss 秒升了一级,同时获得了固定的成长生命值 H_2。举个例子,若英雄的当前生命值为 1145 点,成长生命值为 14 点,升级后的生命值就是 点 。
  3. ,表示英雄在 mmss 秒攻击了第 x 个敌方英雄。保证只存在5个敌方英雄,即

输入描述:

第一行输入三个整数  --- 初始生命值, --- 成长生命值, --- 事件的个数。

接下来 m 行,第 i 行输入一个字符串 --- 时间线(保证分钟和秒钟都以两位整数的形式给出),一个整数 --- 事件类型,若 则再输入一个整数 --- 敌方英雄编号。


输出描述:

输出一个整数,表示对局最终英雄的生命值。
示例1

输入

复制
500 10 3
11:45 2
14:19 2
19:18 3 1

输出

复制
520
示例2

输入

复制
1000 100 7
00:00 2
00:30 3 1
01:00 1
01:30 2
01:40 3 1
01:45 3 2
01:50 3 1

输出

复制
2048

备注:

为了方便计算,触发心之钢提供的生命值都向下取整。如当前生命值为 114514,触发一次心之钢则会造成  的伤害,并提供  的生命值。