Як відомо, "Люди у чорному" захищають нашу землю від навали інопланетних тарганів та інших шкідників. Вони слідкують за всіма переміщеннями інопланетних ворогів та друзів і контролюють їхні дії. Але нещодавно діяльність "Людей у чорному" привернула увагу уряду, і той вирішив діяти аналогічно.
В організації працює кілька агентів. Кожен агент має кілька характеристик: точність, кмітливість, швидкість пішки, досвід та вміння керувати автомобілем. Усі характеристики — дійсні числа від до . Кожному агенту присвоєна літера від до , ім'я — секретна інформація. Коли новий агент приєднується, йому обирають літеру найближчу до першої літери його імені, не зайняту іншим агентом. Якщо кілька таких літер, беруть першу лексикографічно. Наприклад, якщо вже є агенти , , і , і приходить Killer, він отримує .
"Люди у чорному" мають декілька машин різних класів, якими користуються агенти. Швидкість агента у машині дорівнює його навичці водіння. Для деяких машин потрібен мінімальний рівень цієї навички. Для кожного класу машин задано максимальний пробіг, після якого машина непридатна до використання.
У Всесвіті є кілька видів монстрів, з якими борються агенти. Щоб убити монстра, агент повинен мати досвід і кмітливість не менші за мінімальні для цього виду. У кожного монстра задано ухильність, агент може витратити на його знищення різний час залежно від точності. За знищення монстра агент отримує досвід.
Є чотири типи завдань:
1. Доставка — доїхати до точки призначення і повернутися. Відомо відстань від офісу до точки. 2. Знищення монстра — дістатися до монстра, убити і повернутись. Для такого завдання відома відстань і тип монстра. Час на вбивство монстра з точністю та ухильністю — . Агент отримує (1-x) \cdot m / \max x, де — досвід агента, — досвід за цього монстра, — максимальний досвід. Точність агента підвищується на (1-a) \cdot e / \max e, де — максимальна ухильність. 3. Розслідування — дійти до точки, провести розслідування, повернутись. Відомо відстань, мінімальна кмітливість, мінімальний час. Агент із кмітливістю виконає роботу за , де — мінімальний час. Після цього агент отримає (1-x) \cdot i / \min t досвіду ( — досвід до операції), а його кмітливість підвищиться на (1-i) \cdot i / \min t. 4. Переговори — дістатися до точки, провести переговори, повернутись. Відомо відстань, мінімальний досвід, мінімальний час переговорів. Час — , де — досвід агента. Після переговорів він отримує (1-x) \cdot x / \min t досвіду.
Завдання виконує один або два агенти. Якщо виконують двоє, характеристики кожного змінюються незалежно. Агент може йти пішки чи їхати машиною. Якщо машина ламається дорогою, агент докінчує шлях пішки. Якщо йдуть двоє, можна їхати однією машиною.
Вибирають агента або пару так:
- Вибирають того, хто зробить найшвидше. - Якщо кілька варіантів: 1. Один агент кращий за пару. 2. Якщо кілька агентів — з меншою літерою; для пар — за лекс порядком літер. 3. Вибирають машину лише якщо вона пришвидшує виконання; інакше не використовують. 4. Якщо час однаковий для кількох машин — машину з мінімальним лексич номером.
Усі завдання виконують якнайшвидше. Якщо можна виконати кілька — першочергово те, що надійшло раніше.
Після завершення пішого завдання швидкість ходьби агента підвищується на (1-s) \cdot d / \max d, де — швидкість до, — пройдена відстань, — максимально можлива відстань. Якщо агент їхав частину шляху, навичка водіння підвищується на (1-z) \cdot d / \max d, — навичка до, — відстань машиною.
Для пари при виконанні: - Швидкість пішки — мінімум із двох. - Навичка водіння — максимум із двох. - Точність — (a_1 + a_2)/2. - Досвід — 1 - (1-e_1)(1-e_2). - Кмітливість — 1 - (1-i_1)(1-i_2).
Можливі події: новий агент, нова машина, нове завдання.
Якщо досвід агента досягає чи перевищує поріг пенсії, агент залишає організацію після завершення останнього завдання. Літера стає вільна. В агенції не буває більше агентів одночасно.
Усі інтервали в задачі — у хвилинах, округлені до найближчої хвилини (стандартні правила). Наприклад, час їзди, ходьби (якщо машина зламалась), знищення монстра округлюються окремо.
Усі числа та рядки у вхідному файлі можуть бути відокремлені пробілами та/або новими рядками.
Вхідний файл містить: - Кількість агентів (), далі для кожного: ім'я, точність, швидкість, кмітливість, досвід, навичка водіння, літера. Усі букви різні. Досвід кожного < поріг пенсії. - Кількість типів машин (); для кожного: мінімальна навичка, максимальний пробіг, назва. - Кількість машин (); для кожної: тип, пробіг (не перевищує максимум), номер. - Кількість видів монстрів (); для кожного: мінімальний досвід, мінімальна кмітливість, ухильність, досвід за вбивство, назва. - Максимально можлива відстань пішки, максимальна ухильність монстрів, максимальний досвід за монстра, поріг пенсії. - Кількість подій в агенції (). Для кожної: час, потім: - Новий агент: 'newagent', ім'я, точність, швидкість, кмітливість, досвід, водіння. - Нова машина: 'newcar', тип, пробіг, номер. - Доставка: 'quest run', відстань. - Знищення: 'quest kill', відстань, назва монстра. - Розслідування: 'quest findout', відстань, мін. кмітливість, мін. час. - Переговори: 'quest talk', відстань, мін. досвід, мін. час.
Усі характеристики — числа від до (не включаючи), до двох знаків після десяткової крапки. Інші числа — цілі додатні до 10^6. Імена, назви типів, назви монстрів, номери машин — лише англійські букви й цифри, не довше символів. Усі імена й номери унікальні. Події впорядковані за часом.
Виведіть усі цікаві події у форматі: 'dddd:hh:mm <опис>', де 'dddd:hh:mm' — день, година, хвилина події.
Цікаві події (у цьому порядку): - "MIB bought a car of class <name>." - "Car <id> was broken." - "Agent <A>[ and agent <B>] killed monster <monster>." - "Agent <A>[ and agent <B>] finished quest <number>." - "Agent <A> has tired." - "New agent <name> got a letter <letter>." - "Agent <A>[ and agent <B>] started quest <number>[ using car <id>]."
Завдання номеруються від у порядку надходження. Якщо декілька подій одночасно — пріоритетний порядок, далі лексикографічний. Якщо в завданні двоє — за порядком літер.
Гарантується, що всі завдання можна виконати за днів.
Приклад 1