렌터카 관리 난항

아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

첩보원에게 알맞은 자동차는 필수품이다. BAPC라는 렌터카 회사는 첩보원에게 어울릴 만한 차를 폭넓게 갖춰두고, 반납 이후의 뒤처리까지 맡는다. 첩보원이 돌려준 차를 관리하는 데는 당연히 돈이 든다. 가솔린을 채워야 하고, 대개는 부서진 차를 수리해야 한다.

연말이 되면 이 회사를 이용한 첩보원은 그 해에 탄 차의 비용을 낸다. 그런데 바로 지난주에 관리 시스템이 크게 망가져 더는 쓸 수 없게 되었다. 겨우 살려낸 자료는 자동차 정보와 지난 해 사건 기록의 일부뿐이다. 회사는 이 자료로 첩보원마다 청구할 금액을 손으로 계산하려 한다.

자동차는 원가와 함께 초기 대여 비용, 주행 거리 1킬로미터당 추가 요금이 등록되어 있다. 사건 기록은 대여, 반납, 사고 세 가지다. 차를 대여하면 첩보원은 그 차의 초기 대여 비용을 낸다. 반납할 때는 반납 시점까지의 주행 거리에 비례하는 추가 요금을 낸다. 대여 도중 사고로 차가 부서졌다면 수리 비용도 청구한다. 사고 기록에는 차의 파손율이 적혀 있고, 수리 비용은 그 차의 원가에 파손율을 곱한 값이다. 소수점 아래가 남는 비용은 청구서에 올리기 전에 올림해서 더한다.

자동차 목록은 온전히 복구했지만 사건 기록은 망가진 채로 남았다. 앞뒤가 맞지 않는 청구서를 보내면 회사 신뢰가 크게 떨어지므로, 남아 있는 사건 기록이 일관적인지 판정하는 프로그램을 작성하려 한다. 일관성 조건은 다음과 같다.

  • 첩보원은 차를 반납하기 전에 먼저 대여한다.
  • 대여한 차는 반드시 반납한다.
  • 한 첩보원은 동시에 최대 한 대만 대여할 수 있다.
  • 사고는 첩보원이 차를 쓰고 있는 동안에만 일어난다.

입력

첫 줄에 테스트 케이스의 수가 주어진다. 이 값은 100을 넘지 않는다.

각 테스트 케이스의 구성은 다음과 같다.

  • 공백으로 구분된 두 정수 nn, mm (0n5000 \le n \le 500, 0m100000 \le m \le 10000): 자동차 종류의 수와 사건 기록의 줄 수
  • 이어지는 nn개의 줄에 문자열 NN과 공백으로 구분된 세 정수 pp, qq, kk (1p1000001 \le p \le 100000, 1q10001 \le q \le 1000, 1k1001 \le k \le 100): 자동차의 이름, 원가, 초기 대여 비용, 주행 거리 1킬로미터당 추가되는 비용
  • 이어지는 mm개의 줄에 사건이 일어난 시각을 뜻하는 정수 tt (0t1000000 \le t \le 100000), 사건과 관련된 첩보원의 이름을 뜻하는 문자열 SS, 사건의 종류를 뜻하는 알파벳 한 글자 ee가 공백으로 구분되어 주어지고, 그 뒤에 종류에 따른 값이 하나 더 붙는다.
  1. eep(pick-up)이면 문자열 CC: 대여한 차의 이름
  2. eer(return)이면 정수 dd: 주행 거리(단위는 킬로미터)
  3. eea(accident)이면 정수 ss (0s1000 \le s \le 100): 차의 파손율

차의 이름과 첩보원의 이름은 길이가 1 이상 40 이하이고 알파벳 소문자로만 이루어진다. 각 테스트 케이스에서 첩보원은 최대 500명이고, 사건은 일어난 순서대로 주어진다.

출력

테스트 케이스마다, 기록에 등장한 첩보원을 이름의 사전순으로 정렬해 한 줄에 한 명씩 출력한다.

  • 각 줄에 첩보원의 이름과 총 청구 비용을 공백으로 구분해 출력한다.
  • 어떤 첩보원의 사건 기록이 일관적이지 않다면 총 비용 대신 INCONSISTENT를 출력한다.

테스트 케이스 사이에는 빈 줄을 넣지 않는다.