Административные сложности
Шпиону трудно выполнять свою работу без приличной машины. Компания по прокату автомобилей-шпионов имеет большую коллекцию автомобилей, которые могут использовать шпионы, и быстро обрабатывает полученную информацию. Использование автомобилей, очевидно, стоит денег: для работы им требуется бензин, а ремонт нужен довольно часто, потому что шпионы, как правило, попадают в аварии немного чаще других водителей.
В конце года всем шпионам должны быть выставлены счета за использование автомобилей в прошлом году. На прошлой неделе произошел серьезный сбой в биллинговой системе, что сделало ее непригодной для использования. Все, что можно было восстановить - это список всех доступных типов автомобилей и журнал событий за прошедший год. Используя эту информацию, компания по прокату автомобилей - шпионов хочет получить список расходов на использование автомобиля для каждого зарегистрированного шпиона. Этот список затем можно использовать для отправки счетов вручную.
Каждый тип автомобиля регистрируется по цене в каталоге, стоимости подбора автомобиля и стоимости его вождения за километр. Список событий содержит три типа событий: взятие машины, возврат машины и несчастные случаи. Когда шпион забирает автомобиль, он или она должны оплатить стоимость получения этой машины. Как только автомобиль возвращен, записывается количество пройденных в нем километров, и шпион должен заплатить за эти километры. Если произошел несчастный случай, когда шпион использовал автомобиль, то ремонт должен быть оплачен. Каждый несчастный случай оценивается с серьезностью в процентах. Для ремонта автомобиля этот процент от каталожной цены выставляется шпиону, который вызвал аварию. Если любая объявленная стоимость является дробной, она округляется вверх и добавляется в счет.
Список всех доступных типов автомобилей готов. Однако из-за сбоя некоторые события в восстановленном журнале событий могут отсутствовать. Компания по прокату автомобилей - шпионов не хочет представлять шпионам непоследовательный счет, поэтому Вы должны обнаруживать несоответствия в записях журнала для каждого шпиона. Для согласованного журнала событий выполняются следующие условия:
шпион берет машину перед ее возвратом.
шпион всегда возвращает машину которую взял.
шпион может взять в любой момент времени не более одной машины.
несчастный случай может произойти только в то время когда шпион использует машину.
Входные данные
Первая строка содержит количество тестов, не более 100. Каждый тест содерит:
первая строка содержит два целых числа n и m (0 ≤ n ≤ 500, 0 ≤ m ≤ 10000): количество машин и событий соответственно.
n строк - тип машины и три целых числа p, q и k (1 ≤ p ≤ 100000, 1 ≤ q ≤ 1000, 1 ≤ k ≤ 100) - стоимость по каталогу, стоимость взятия и стоимость использования за километр.
m строк, каждая из которых содержит время наступления события t (0 ≤ t ≤ 100000), имя шпиона S и один символ 'e' - тип события, определяемый следующим образом:
если e = 'p' (взятие), то далее идет название C взятой машины.
если e = 'r' (возврат), то далее идет целое число d (0 ≤ d ≤ 1000) - расстояние, которое проехала машина шпионом S в километрах.
если e = 'a' (несчастный случай), то далее идет серьезность инцидента s (0 ≤ s ≤ 100) в процентах.
Все имена шпионов и названия машин содержат от 1 до 40 строчных букв. Каждый тест содержит не более 500 уникальных имен шпионов. События заданы в хронологическом порядке.
Выходные данные
Для каждого теста:
одна строка содержит событие шпиона, состоящее из его имени и общей стоимости машины. Если набор событий для шпиона противоречив, общая стоимость должна быть заменена строкой "INCONSISTENT".
Строки следует отсортировать по именам шпионов.