Третий квалификационный раунд

"A" Экзамен
Ограничение по времени 2 секунды
Ограничение по памяти 256 мегабайт

Игорь — хороший программист, но большой разгильдяй. Проиграв весь семестр в компьютерные игры и просмотрев очень много сериалов и фильмов, он неожиданно понял, что пришло время сессии, которую надо закрывать, чтобы не вылететь из университета.

Первым экзаменом у Игоря будет экзамен по экстремальному программированию. Суть экзамена заключается в том, что в некоторое время S появляется условие задачи, которую должен решить Игорь до момента времени F. Экзамен длится не менее секунды и не более суток. Если Игорь сдает задачу за отведённое время, то он сдает экзамен. Если он не успеет сдать ее в течение часа после конца экзамена, то он заваливает экзамен. Иначе помимо решения задачи приходится писать тестирование.

Игорь знает за сколько минут напишет программу и теперь хочет узнать, сможет ли он сдать экзамен, либо ему придётся писать тест, либо он вообще экзамен не сдаст.

Формат входных данных

Первая строка входных данных содержит единственное целое число n (1 ≤ n ≤ 104) — количество тестов. Следующие n строк содержат S и F в формате hh:mm:ss, а также целое число k (1 ≤ k ≤ 2000) — время начала и конца экзамена и время в минутах, за которое Игорь напишет программу.

Гарантируется, что время в тестах задано корректно.

Формат выходных данных

Для каждого теста в отдельной строке выведите ответ на задачу. Если Игорь сдаст экзамен, то выведите Perfect. Если Игорю придётся писать тест, то выведите Test. Иначе выведите Fail.

Примеры
Входные данные Выходные данные
4
01:02:03 01:05:03 3
23:12:14 00:14:59 91
00:00:00 00:00:00 1000
01:00:00 05:00:00 666
Perfect
Test
Perfect
Fail


"B" Сообщение
Ограничение по времени 2 секунды
Ограничение по памяти 256 мегабайт

После многих лет безуспешных попыток ученые наконец-то смогли установить связь с разумной цивилизацией в космосе и выяснили, что алфавит инопланетян состоит всего из двух букв: a и b. Для приема сообщений был сконструирован специальный приемник, который выдает символы a, b, а также специальный символ ?, если разобрать, какой символ был передан, не удалось.

Анализ показал, что инопланетяне передают все свои сообщения в виде двух одинаковых записанных подряд строк. Например, строки «abab» или «aaaaaa» могут быть сообщениями инопланетян, а «abba» или «aaa» — нет.

Прибор, сконструированный учеными, получив на вход потенциальное сообщение инопланетян, выдает все возможные способы прочитать строку без учета описанного выше свойства. Например, получив строку «ab??» прибор выдает строки «abaa», «abab», «abba» и «abbb», из них на самом деле только строка «abab» может быть сообщением от инопланетян, а остальные три не могут.

Для улучшения качества прибора ученые хотят узнать, сколько строк из тех, которые выведены прибором, не могут быть сообщением инопланетян. Помогите им это сделать.

Формат входных данных

В первой строке содержится натуральное число n — число слов в сообщении, полученного учеными.

В каждой из следующих n строк содержится слово из сообщения, состоящее из символов a, b и ?. Гарантируется, что все слова имеет четную длину, а также, что в каждом слове есть хотя бы один ?. Суммарная длина всех слов не превышает 200000. Не гарантируется, что есть хотя бы один способ расшифровать каждое слово как сообщение инопланетян.

Формат выходных данных

Выведите n строк. В i-ой строке выведите число способов заменить ? на буквы a, b так, чтобы i-е слово не было корректным сообщением инопланетян. Так как число способов может быть очень большим, необходимо выводить его по модулю 109+7.

Примеры
Входные данные Выходные данные
3
ab?b
baa?
abb???
1
2
7


"C" Матч века
Ограничение по времени 2 секунды
Ограничение по памяти 256 мегабайт

Каждый год студенты Межгалактического Физкультурно-Теологического Института проводят «матч века» по космическому футболу. Этот матч длится одни световые сутки, и в нем принимают участие игроки сборных всех факультетов института.

Перед тем, как начать матч, судье необходимо разделить всех игроков на две команды и присвоить им номера. Всего в матче участвуют 2n игроков, из которых n случайно выбранных игроков судья отправляет в первую команду, а n оставшихся — во вторую. После этого судья присваивает номера всем игрокам обеих команд.

Игроки обеих команд получают номера, каждый из которых является целым числом от 1 до n. Номера всех игроков одной команды попарно различны. Традиционно, в первой команде игроки получают номера в порядке убывания их роста, а во второй — в порядке возрастания.

Студенты, видевшие много матчей века, любят высчитывать «зрелищность» каждого матча — сумму попарных разниц роста между игроками разных команд, имеющих одинаковые номера. Так, если в первой команде играют игроки с ростом 180 и 190 сантиметров, а во второй — игроки с ростом 170 и 205 сантиметров, то зрелищность этого матча равна |180 - 205| + |190 - 170| = 45. Теперь им интересно вычислить математическое ожидание зрелищности «матча века», зная рост всех его участников. Помогите им.

Формат входных данных

В первой строке входных данных содержится натуральное число t — количество матчей века, которые необходимо изучить. Далее следуют описания самих матчей.

Описание каждого матча состоит из двух строк. Первая строка содержит одно четное натуральное число 2n — количество участников очередного «матча века». Следующая строка содержит 2n попарно различных натуральных чисел, не превышающих 106 — рост всех участников.

Суммарное количество участников во всех матчах, которые необходимо изучить, не превышает 106.

Формат выходных данных

Для каждого матча в отдельной строке выведите одно вещественное число — искомое математическое ожидание. Ваш ответ должен отличаться от правильного не более, чем на 10-6.

Примеры
Входные данные Выходные данные
1
4
20 30 10 40
40.0


"D" Разбиение на массивы
Ограничение по времени 2 секунды
Ограничение по памяти 256 мегабайт

Рассмотрим множество целых чисел от 1 до 3n. Необходимо распределить эти числа в три массива a, b и c длиной n так, чтобы для любого i от 1 до n выполнялось следующее: ai + bi = ci

Формат входных данных

Единственная строка содержит целое число n (1 ≤ n ≤ 23).

Формат выходных данных

Если решения не существует, то в первой строке выведите единственное число −1. В ином случае, выведите 3 строки, в каждой по n целых чисел, разделенных пробелами. В первой строке должны находиться элементы массива a, во второй — элементы массива b, в третьей — массива c. Каждое число от 1 до 3n должно быть выведено ровно один раз.

Примеры
Входные данные Выходные данные
1
1
2
3
2
-1


"E" Лесной феномен
Ограничение по времени 2 секунды
Ограничение по памяти 256 мегабайт

Байтландия очень зеленая и экологичная страна с множеством лесов, рек и озер. Все леса в Байтландии имеют форму идеального прямоугольника. Длины сторон i-го леса равны ni и mi километрам. Каждый лес разделен линиями, параллельными сторонам прямоугольника, на квадраты с длиной стороны равной одному километру. В каждом квадрате живет свой лесник.

Как известно, осенью каждый лесник заготавливает себе дрова на зиму. Но этой осенью произошло что-то невообразимое. По неизвестной никому причине, после заготовки дров каждый лесник бесплатно отгрузил весь свой запас древесины случайному, равновероятно выбранному соседу. Все лесники отгружали дрова одновременно. Два лесника называются соседями, если квадраты леса, в которых они живут, имеют общую сторону.

С целью более детального изучения этого феномена человеческого поведения для каждого леса вам необходимо подсчитать математическое ожидание количества лесников, у которых после этой процедуры оказались хотя бы какие-нибудь дрова на зиму.

Формат входных данных

В первой строке содержится натуральное число t — количество лесов в Байтландии.

В каждой из следующих t строк содержатся по два числа ni и mi — длины сторон i-го леса. (1 ≤ ni ≤ 107, 1 ≤ mi ≤ 107 nm ≥ 2).

Количество лесов в Байтландии не превышает 10000.

Формат выходных данных

Для каждого леса в отдельной строке выведите искомое математическое ожидание в виде несократимой дроби. Числитель и знаменатель должны быть разделены символом / без дополнительных пробелов. Если знаменатель равен единице, то надо вывести только числитель.

Примеры
Входные данные Выходные данные
2
1 3
4 5
2
2015/144