Эй, день зарплаты!
Автоматическая система используется на фабрике для контроля входа и выхода сотрудников. Каждый сотрудник имеет электронную идентификационную (ID) карту, которую необходимо вставлять в систему каждый раз при входе или выходе с фабрики. Система считывает имя (обозначим как S) с ID карты, текущую дату (обозначим как D) и время (обозначим как T) из своего внутреннего таймера и создает новую запись в формате D–S–T в своей базе данных. Время входа не может быть раньше 8:00:00, а время выхода не может быть позже 20:00:00.
На фабрике также работает сторож, который всегда на месте и тщательно записывает входы и выходы всех сотрудников и клиентов. Каждый день он составляет отдельный список, содержащий имена людей (сотрудников или клиентов), которые входят или выходят с фабрики в течение этого дня. Список составляется в том порядке, в котором люди входят или выходят. Имена сотрудников в этом списке точно такие же, как записанные автоматической системой. Обратите внимание, что у клиентов нет ID карт.
Возможно, некоторые сотрудники забывают вставить свои ID карты в систему. Однако предполагается, что каждый сотрудник совершает эту ошибку не более одного раза в день. Также известно, что каждый сотрудник, пришедший на работу в определенный день, входит на фабрику ровно один раз и покидает ее ровно один раз в этот день.
В конце месяца, в день выплаты зарплаты, директор фабрики обнаруживает, что на основе данных, записанных автоматической системой и списков, подготовленных сторожем, невозможно точно определить, сколько часов каждый сотрудник находился на фабрике в прошлом месяце. Поэтому он решает платить каждому сотруднику 100K риалов, умноженных на "среднее" время, которое он/она находился на фабрике в течение этих дней. "Среднее" время вычисляется как среднее из двух чисел: минимально возможного и максимально возможного времени, которое сотрудник находился на фабрике в рабочие дни в прошлом месяце.
Вам нужно написать программу, чтобы определить минимальное и максимальное возможное время, которое каждый сотрудник находился на фабрике.
Входные данные
Первая строка ввода содержит целое число t (1 ≤ t ≤ 10), количество тестовых случаев, за которыми следуют данные для каждого тестового случая. Каждая строка тестового случая — это запись базы данных системы или отчет сторожа в конце дня. Каждая строка, представляющая запись системы, имеет вид D–S–T, где S — строка из строчных букв, D — дата в формате YY/MM/DD, а T — временная метка в формате HH:MM:SS. В этих строках ввода нет пробелов. Каждая строка, представляющая отчет сторожа за один день, содержит 1 ≤ k ≤ 40 имен, как в следующем примере:
D S_1 S_2 S_3 … S_k
Это означает, что в дату D (в формате YY/MM/DD) первым вошел или вышел человек с именем S_1, затем второй человек с именем S_2 и так далее. Дата и имена разделены одним пробелом. В тестовом случае не может быть более одной строки отчета сторожа для одной и той же даты. Период интереса не превышает 30 дней. Имена людей не более 15 символов, и у двух людей не может быть одинаковых имен. Каждый тестовый случай завершается строкой, содержащей один символ #. В компании работает как минимум один сотрудник и не более 15 сотрудников. Две записи системы на определенную дату могут иметь одинаковую временную метку. В этом случае сторож может записывать соответствующие события в любом порядке.
Выходные данные
Файл вывода должен содержать ответы на тестовые случаи, где i-й ответ соответствует i-му тестовому случаю. Каждая строка ответа имеет вид:
S-H_1 M_1 S_1-H_2 M_2 S_2
Где S — имя сотрудника, H_1, M_1 и S_1 представляют минимальное время присутствия сотрудника S в течение периода интереса, а H_2, M_2 и S_2 представляют максимальное время присутствия сотрудника S. (H_i, M_i и S_i указывают часы, минуты и секунды без ведущих нулей.) Строки в каждом ответе должны быть отсортированы по полю S в алфавитном порядке (словарная сортировка). Каждый ответ завершается строкой, содержащей один символ #.