Zombdar

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

문제

좀비 감지기가 보내는 데이터를 읽고 있다. 감지기는 주변을 훑어 가까이 있는 좀비의 수를 센다. 훑는 동안 감지기는 로그 항목을 자기 버퍼에 적는다. 항목은 Zombies: <정수>;, No Zombies;, RUN; 셋 중 하나이고, 마지막 항목은 감지기에 과부하가 걸렸을 때 나온다. 이 셋 말고 다른 값은 버퍼에 들어가지 않는다.

감지기의 직렬 포트는 1초에 한 줄씩 내보낸다. 각 줄에는 그 순간 버퍼에 있던 바이트가 그대로 담긴다. 그래서 한 줄이 항목 하나를 중간에서 자르기도 하고, 여러 항목을 한꺼번에 담기도 하고, 빈 줄로 나오기도 한다. 한 데이터 집합의 모든 줄을 순서대로 이어 붙이고 줄바꿈을 빼면 감지기가 적은 내용이 그대로 나온다.

감지기가 Zombies: 5;를 적고 이어서 Zombies: 1;을 적었다고 하자. 직렬 포트는 이를 Zom, bies:, 5;Zombies: 1, ; 네 줄로 내보낼 수 있다. 첫 항목은 3초에, 둘째 항목은 4초에 완성된다.

항목은 끝을 알리는 세미콜론이 도착하는 순간 완성된다. 데이터 집합이 끝날 때까지 버퍼에 남아 있던 바이트는 항목이 되지 못한다.

살아남으려면 직렬 포트 데이터를 정확히 처리해야 한다.

입력

첫 줄에 데이터 집합의 개수 N이 주어진다. (1 ≤ N ≤ 50)

각 데이터 집합은 직렬 포트가 1초에 한 줄씩 내보낸 원본 데이터이고, 그 뒤에 END OF CASE만 적힌 줄이 온다. 데이터 집합의 첫 줄은 1초에, 둘째 줄은 2초에 읽는다. 빈 줄도 1초를 쓴다. END OF CASE 줄은 데이터 집합의 끝을 알리는 표시이고 감지기 데이터가 아니다.

출력

완성된 로그 항목마다 타임스탬프: 항목 형식으로 한 줄씩 출력한다. 타임스탬프는 그 항목이 속한 데이터 집합이 시작하고 나서 항목이 완성되기까지 걸린 초다. 항목에는 끝의 세미콜론까지 포함한다. 타임스탬프는 데이터 집합마다 다시 1부터 센다. 항목은 완성된 순서대로 출력하고, 데이터 집합 사이에는 빈 줄이나 머리말을 넣지 않는다.