ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1721. Две стороны одной монеты

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Сторона первая
Полл летел над Городом. Яркие полоски улиц, освещённых тысячами фонарей, проносились под ним. Он лавировал между тонкими шпилями телекоммуникационных башен и ажурными решётками радиаторов термоядерных станций. Вокруг деловито сновали вертолёты курьерских служб. Внезапно строгий порядок улиц нарушился. Они превратились из невероятно длинных параллельных прямых в извивающийся клубок светящихся щупалец. Полл взмыл вверх. С высоты он понял, что это уже не улицы, а ансамбль нейронов, генерирующих нервные импульсы. Один из них ярко вспыхнул и растворился во тьме. Мощные импульсы достигли его соседей, и они тоже превратились в сгустки света. И вот уже волна вспышек пошла по всей нервной ткани, уничтожая её. Очень скоро Полл остался один в полной темноте. Тьма обступила его, залила глаза и рот, навалилась невероятной тяжестью на грудь. Полл не мог дышать, не мог думать, и всё, что он чувствовал — это дикий, нечеловеческий ужас…
Полл резко вскочил на кровати и схватился за голову. Последнюю неделю его сны стали просто невыносимыми. Яркие, детальные, неотличимые от реальности, но в то же время чудовищно алогичные и бессвязные. Это был весьма опасный симптом, которым проповедники из секты Обреченцев пугали прохожих в своих уличных проповедях. Полл долго отказывался признать, что с ним может случиться что-то подобное, но его состояние всё ухудшалось, и игнорировать это было уже невозможно. Он набрал в поисковике запрос «Синдром автоиндукции нейроинтерфейса» и довольно быстро нашёл специализированную клинику неподалёку от его квартиры. Он зашёл на её сайт и записался на приём этим вечером.
На работу Полл пошёл пешком. Личный транспорт в Городе был запрещён, а ехать в переполненном вагоне ему не хотелось. Хотя и на улицах, как всегда, было людно. К гулу людской толпы добавлялись призывные голоса, звучащие с рекламных экранов, нависающих над тротуарами. На одном из них Полл заметил до боли знакомый логотип, и приятный женский голос сообщил: «До начала четвертьфинальных отборочных соревнований по спортивному программированию осталась одна неделя. Успевайте зарегистрироваться на сайте соревнований!»
Полл зашёл в высокое здание и поднялся на семидесятый этаж. Здесь находился программный комитет тех самых соревнований, а Полл был его председателем. В просторном помещении за компьютерами сидели люди, занимавшиеся подготовкой задач. Большинство из них пользовалось нейроинтерфейсами, поэтому в помещении не было слышно стука клавиатур. Полл принимал в свою группу только профессионалов, получивших лицензию на составление задач и имевших ранг составителя не ниже третьего. Но, тем не менее, он всё равно лично проверял и утверждал каждую задачу. Он, конечно, доверял своим людям, но дополнительный контроль в таком ответственном деле лишним быть не мог.
Полл прошёл в свой кабинет, подключился через нейроинтерфейс к внутренней сети и ушёл с головой в работу. День пролетел незаметно. Полл заметил, что уже стемнело, только когда его окно озарилось светом от пролетавшего мимо пожарного вертолёта. Он посмотрел на часы и понял, что опаздывает на приём к врачу. Быстро завершив работу, он отправился в клинику.
В приёмной сидела аккуратная медсестра, которая, не мешкая, проводила его в кабинет доктора Васата. Доктор Васат оказался доброжелательным пожилым врачом, обладавшим способностью мгновенно вызывать доверие у пациентов. Он быстро вник в суть проблемы, мучающей Полла. Поллу даже как-то полегчало на душе от того, что такой специалист займётся его случаем. Доктор Васат немного подумал и предложил сразу пройти сканирование мозга, чтобы можно было со всей определённостью подтвердить или опровергнуть наличие проблем с нейроинтерфейсом. Полл согласился. Они прошли в соседний кабинет, где стояла установка, отдалённо напоминающая электрический стул. Полл сел в неё, доктор зафиксировал его голову между двумя полусферами и отошёл к консоли. Полл не видел перед собой ничего, кроме абсолютно белой стены. Он почувствовал, как что-то подключилось к его нейроинтерфейсу.
— Не сопротивляйтесь, — спокойно сказал доктор.
Полл расслабился. Установка тихонько загудела, по телу прошла волна тепла. Вдруг он заметил, как из белой стены перед ним к нему тянутся тонкие и острые шипы. Они приближались всё ближе и ближе, целясь ему прямо в сердце. Он пытался вырваться из оков, пытался увернуться, но всё было тщетно. Тысячи белых шипов вошли ему в грудь, пронзили сердце и начали наполнять его белым светом. По артериям свет разошёлся по всему организму, заполнил его рот, стал изливаться в окружающее пространство из его глаз. Полл зажмурился и начал бешено извиваться.
— Полл! Полл! Успокойтесь! Всё уже закончилось! — голос доктора звучал встревожено.
Полл замер и открыл глаза. Доктор Васат держал его за плечи и внимательно смотрел на него. Вокруг не было ни шипов, ни света.
Медсестра помогла Поллу дойти до кабинета врача и принесла ему горячего чая. Он просидел в одиночестве довольно долго, пока в кабинет не зашёл доктор Васат. Тот был хмур. Он сел за свой стол и сразу начал:
— Я не хотел бы вас пугать, но ваше состояние действительно очень серьёзно. Да вы, я думаю, это и сами понимаете. Если так пойдёт дальше, то видения будут преследовать вас не только во сне, но и наяву. Точнее, вы вообще перестанете различать сон и явь.
Они проговорили ещё несколько часов. Доктор обещал помочь всем, чем может, но не было никаких гарантий. Современная медицина ещё не научилась лечить подобные состояния.
Из клиники Полл вышел в очень подавленном состоянии. Доктор хотел было вызвать медицинский вертолёт, чтобы тот доставил Полла домой, но он отказался. Да ему и не хотелось домой. Он направился прямиком к зданию администрации района, которое было самым высоким в округе. И хотя посещение его крыши было запрещено, так случилось, что Полл знал код доступа. Поднявшись на крышу, он подошёл к её самой кромке и вдохнул ночной воздух полной грудью. Перед ним расстилался Город. Не тот странный, извращённый Город из его снов, а привычный, суетливый Город людей. Обыденность. Реальность. При всех её недостатках, Поллу очень не хотелось терять связь с ней. Уж лучше было умереть, чем оказаться в смирительной рубашке в комнате с белым потолком.
— Будешь прыгать? — донёсся откуда-то сзади женский голос.
Полл обернулся. Чуть поодаль от него на вентиляционной трубе сидела девушка и с усмешкой смотрела на него.
— Не знаю, — ответил Полл и тоже улыбнулся.
Девушка спрыгнула с трубы, подошла к Поллу, встала на край крыши рядом и с опаской посмотрела вниз.
— Высоко… А меня зовут Альхена, а тебя как?
— Полл.
Они простояли несколько минут молча. Полл чувствовал некую неловкость. Альхена первой нарушила молчание:
— Ну что, Полл, может пригласишь меня куда-нибудь? — и тут же торопливо добавила, — только сегодня я не могу.
— Ну давай завтра, — зачарованно ответил Полл.
— Давай.
Они обменялись контактами и вместе спустились с крыши. Полл пытался проследить за ней, но она очень быстро затерялась в толпе.
На следующий день Полл пришёл на работу поздно. В кабинете его ждал старый друг Кастор. Они вместе работали над организацией соревнований уже очень много лет. Только Кастор не сочинял задач. Он с детства был немного повёрнут на защите всего и вся. Он отвечал за информационную и физическую безопасность соревнований. «Кастор-дог» называли его за глаза, но Поллу он нравился. Может быть, потому, что Кастор несколько раз вытаскивал Полла из очень щекотливых ситуаций, за что тот был ему премного благодарен.
А ещё Кастор любил лично приходить к каждому и заливать через нейроинтерфейс обновления кодов доступа. Это называли «Кастор ест мозг.» И вместо «мы давно не меняли коды доступа» говорили «что-то давно Кастор нам мозг не ел.»
Вот и сегодня Кастор пришёл с этой целью. Он подключился к нейроинтерфейсу Полла, и, пока коды обновлялись, они болтали о всякой ерунде. Разговор с другом очень благоприятно подействовал на Полла, его страхи отступили и он с усердием принялся за работу.
Вечером он позвонил Альхене и пригласил её поужинать с ним. Они пошли в самый лучший ресторан из находящихся поблизости. Альхена оказалась весьма общительной молодой особой, способной разговорить даже такого молчуна, как Полл. Она много рассказывала и о себе, но Полл так и не смог узнать того, что интересовало его больше всего — что же Альхена делала на той крыше.
После ресторана они пошли к ней домой. Она жила в маленькой, но уютной квартирке. Они расположились на диване. Альхена налила по бокалу вина, и они выпили за этот прекрасный вечер. Она потянулась к Поллу своими губами…
Сторона вторая
Она потянулась к Поллу своими губами, как вдруг что-то словно ударило её. Она запрокинула голову и испустила дикий вопль. Её тело скрутило и она упала на пол.
Через мгновение в квартире воцарился хаос. Входную дверь вырвали наружу, окна разбили, и отовсюду в комнату хлынули люди в бронежилетах и масках, с оружием в руках. Четверо схватили Альхену и куда-то уволокли. Двое надёжно держали Полла. Но тот даже не сопротивлялся — настолько он был поражён неожиданным поворотом сюжета этого вечера.
В комнату вошёл человек в бронежилете и с оружием, но без маски. В нём Полл, к ещё большему своему изумлению, узнал старину Кастора. Кастор сел напротив Полла и улыбнулся. Тут Полл уже не выдержал и закричал:
— Кастор, что, чёрт тебя дери, тут происходит?
— А происходит тут то, что я в очередной раз спасаю твою задницу, — мягко сказал Кастор. И, обращаясь к своим подручным, властным голосом приказал: — Отпустите его.
Двое отпустили Полла и отошли в сторону. Полл потёр левое плечо и, глядя исподлобья на Кастора, спросил:
— Что с Альхеной?
— Она напоролась на мой вирус, который я подсадил сегодня тебе в голову.
— Я не понимаю.
— А всё очень просто, — весело сказал Кастор и уселся поудобнее. — На самом деле, ты ничем не болен. Они как-то умудрились взломать твой мозг и подсадить тебе вирус, который убеждал тебя в том, что у тебя какой-то синдром. Кроме того, этот вирус позволял им незаметно копировать твою память. Именно это она и пыталась сделать только что. Она хотела сделать копию твоего сегодняшнего дня, копию всех задач, над которыми ты работал. Вот только она не учла, что их вирус я из тебя уже вычистил и добавил свой. Я назвал его «Кастор-дог», — он заговорщицки подмигнул Поллу. — Когда кто-то пытается открыть закладку в твоей голове, «Кастор-дог» начинает есть его мозг изнутри. Результат ты видел.
Полл, кажется, начинал понимать.
— А доктор Васат…
— …вовсе никакой не доктор. Ты был его первым и последним пациентом. Он слил у тебя из головы всё, чем ты занимался последний месяц. Его мы уже тоже взяли. К сожалению, слишком поздно — он уже успел продать информацию, и теперь утечку не остановить. Придётся отменять соревнования.
В Полле начинала закипать злость. Его развели как мальчишку. Он посмотрел на Кастора и решительно сказал:
— Нет, соревнования мы отменять не будем. Мы подготовим новые задачи.
— А успеете? Сколько задач вы можете готовить одновременно?
Это был непростой вопрос. По правилам соревнований, каждую задачу должны готовить ровно два человека: один должен написать условие, а другой — подготовить набор тестов. Как правило, составители задач специа­ли­зи­ровались на чём-то одном, но были и универсалы. Времени до начала соревнования оставалось очень мало, поэтому каждый человек мог поучаствовать лишь в подготовке какой-то одной задачи.
Кроме того, чтобы полностью исключить возможность конфликтов между составителями, разница рангов людей, готовящих задачу, должна в точности равняться двум. Поллу срочно требовалось ответить на вопрос — какое же максимальное количество задач программный комитет успеет подготовить к соревнованию?

Исходные данные

В первой строке записано число n — количество составителей задач в программном комитете (2 ≤ n ≤ 1000). Каждая из следующих n строк содержит имя человека, его специализацию и его ранг, разделённые пробелами. Имя человека состоит не более чем из 20 латинских букв. Имена всех составителей задач различны. Специализация указывается одним из трёх слов: «statements», «testdata» или «anything», соответствующих людям, пишущим условия задач, людям, готовящим наборы тестов, и людям, способным заниматься и тем, и другим. Ранг составителя является целым числом от 3 до 1000.

Результат

В первой строке выведите максимальное количество задач, которое можно успеть подготовить к соревнованию. Для каждой задачи в отдельной строке выведите два имени: имя составителя, пишущего условие, и, через пробел, имя составителя, готовящего набор тестов. Если существует несколько способов подготовить задачи, выведите любой.

Пример

исходные данныерезультат
7
Poll anything 8
Tejat statements 6
Mebsuta testdata 6
Propus testdata 4
Alzir anything 7
Mekbuda anything 3
Dirah testdata 9
3
Poll Mebsuta
Tejat Propus
Alzir Dirah
Автор задачи: Павел Атнашев
Источник задачи: NEERC 2009, Четвертьфинал Восточного подрегиона