Во времена обучения в Хогвартсе, когда лорда Волан-Де-Морта еще звали Томом Марволо Реддлом, он был довольно привлекательным молодым человеком. Однако многочисленные темные дела испортили его внешний вид, а именно - лишили носа.
Медицина не стоит на месте, и чудеса современной пластической хирургии помогут ему решить эту проблему. Он записался на пластическую операцию по созданию искусственного носа, и теперь перед ним осталась только одна проблема - ему необходимо выбрать место расположения своего будущего носа. К решению этого вопроса он подошел с математической точки зрения.
Лицо лорда можно упрощенно представить как клетчатый прямоугольник из \(n\) строк и \(m\) столбцов. Волан-де-Морт знает, что его нос займет ровно две клетки, имеющих общую горизонтальную или вертикальную сторону. Еще он знает, что некоторые клетки уже заняты его глазами и ртом, и они не могут быть заняты еще и носом. Теперь он хочет знать количество способов разместить новый нос на своем лице. Чтобы не стать следующей жертвой темных дел Волан-де-Морта, вам придется помочь ему с решением этой задачи.
Первая строка входного файла содержит два целых числа \(n\) и \(m\) (\(1 \le n, m \le 1{\,}000\)) - размеры лица лорда Волан-де-Морта. Каждая из следующих \(n\) строк содержит по \(m\) символов - описание его лица. Символ <<#>> означает, что соответствующая клетка уже чем-то занята, а символ <<.>> - что она свободна и может стать одной из двух, занятых носом.
В первой строке выходного файла выведите одно целое число - количество способов разместить нос на лице Волан-де-Морта.
2 2 .. ..
4
Испокон веков разделением учеников на факультеты занимается волшебная шляпа. Раньше в школе было четыре различных факультета, но после недавних реформ факультетов стало \(p\). Шляпа же всё ещё занимается распределением учеников.
Перед торжественной церемонией шляпа заранее составляет план распределения учеников по факультетам. План является последовательностью чисел \(a_1, a_2, \ldots, a_k\), где \(a_i\) является номером факультета, на который попадет \(i\)-й ученик.
В своём плане шляпа использует для факультетов номера от \(0\) до \(p-1\). Следующим за \(i\)-м факультетом считается \((i+1)\)-й, за \((p-1)\)-м - нулевой. Первая версия плана содержит только один факультет - нулевой. После чего шляпа много раз дописывает в конец плана текущее содержимое плана, заменив каждый факультет на следующий.
Рассмотрим распределение девяти учеников по четырём факультетам. Шляпа будет последовательно строить следующие планы: \((0)\), \((0, 1)\), \((0, 1, 1, 2)\), \((0, 1, 1, 2, 1, 2, 2, 3)\), \((0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 0)\). Длина последнего плана достаточна для распределения всех учеников по факультетам, поэтому следующие планы шляпа может не строить.
Скажите, на какой из \(p\) факультетов шляпа распределит \(n\)-го ученика.
В первой строке задано число \(q\) (\(1 \le q \le 10^5\)) - количество запросов. В следующих \(q\) строках описаны запросы. Каждый запрос содержит два целых числа \(n\) и \(p\) (\(1 \le n \le 10^{18}\), \(2 \le p \le 10^{18}\)) - номер ученика и количество факультетов в Хогвартсе.
Для каждого запроса выведите одно число - номер факультета, на который шляпа распределит \(n\)-го ученика.
10 1 1000 2 1000 4 1000 8 1000 16 1000 32 1000 64 1000 128 1000 256 1000 512 1000
0 1 2 3 4 5 6 7 8 9
Гарри, возглавив подразделения мракоборцев, решил защитить железные дороги от злой магии. Всего в мире волшебников \(n\) железнодорожных станций и \(m\) железных дорог, соединяющих эти станции. Каждая дорога соединяет две различные станции, причем станции могут быть соединены более чем одной дорогой. По каждой железной дороге поезда ходят в обе стороны. Также известно, что между любыми двумя станциями существует путь, состоящий из железных дорог.
У Гарри в запасе \(m\) новых защитных заклинаний, пронумерованных целыми числами от \(1\) до \(m\). Каждое заклинание накладывается на какую-то железную дорогу. Гарри не может использовать одно и то же заклинание для защиты более чем одной железной дороги.
Помимо защиты железных дорог, Гарри хочет, чтобы те же заклинания охраняли и станции. Станция находится под охраной, если наибольший общий делитель номеров заклинаний, защищающих железные дороги, соединяющие эту станцию с остальными, равен единице.
Помогите Гарри защитить все железные дороги так, чтобы каждая станция была под охраной.
В первой строке входного файла находится целое число \(n\) (\(1 \le n \le 50{\,}000\)) - количество железнодорожных станций и число \(m\) (\(n-1 \le m \le 150{\,}000\)) - количество железных дорог. Каждая из следующих \(m\) строк содержит по два целых числа: \(a_i\) и \(b_i\) (\(1 \le a_i,b_i \le n, a_i \ne b_i \)) - номера станций, соединенных этой железной дорогой.
Выведите "IMPOSSIBLE", если невозможно защитить все дороги так, чтобы каждая станция была под охраной. В противном случае выведите \(m\) чисел по одному в строке, \(i\)-я строка должна содержать номер заклинания, которое защищает железную дорогу, описанную в \(i+1\)-й строке входного файла.
5 6 1 5 1 4 5 4 4 1 3 2 3 4
4 3 5 6 1 2
Отряд Дамблдора готовится к полёту в Отдел Тайн Министерства Магии. Так как на их пути за Пророчеством могут встретиться слуги Волан-де-Морта, Гарри с Невиллом решили потренироваться в дуэльных боях.
Они решили провести \(n\) раундов дуэли, а после каждого раунда выпивать восстанавливающее зелье, чтобы не тратить лишних сил. Всего у ребят \(2n\) зелий. После каждого раунда дуэли они выбирают два наиболее близких по мощности восстанавливающих зелья. Из нескольких таких пар они выбирают ту, у которой сумма мощностей наибольшая. Затем Невилл выпивает более мощное зелье из пары, а Гарри - менее мощное.
Помогите Гарри с Невиллом определить, какие зелья и в каком порядке выпьет каждый из них.
Первая строка входного файла содержит одно целое число \(n\) (\(1 \le n \le 100\,000\)) - количество раундов дуэли. Во второй строке входного файла содержится \(2n\) целых чисел \(a_1, a_2, \ldots, a_{2n}\) (\(1\le a_i \le 10^9\)), где \(a_i\) - мощность \(i\)-го восстанавливающего зелья.
В первой строке выведите \(n\) чисел - мощности зелий, которые выпьет Невилл. Во второй строке выведите \(n\) чисел - мощности зелий, которые выпьет Гарри. Зелья надо выводить в том порядке, в котором Невилл и Гарри должны их выпивать.
1 3 6
6 3
2 11 43 56 22
22 56 11 43
Наступает решающая битва за Хогвартс. Все \(n\) его обитателей собрались в холле для отражения атак противника. Каждый защитник Хогвартса обладает магической силой, которая представляет собой натуральное число от \(1\) до \(n\). Магические силы всех защитников различны.
Гарри решил, что строй защитников лучше всего отразит атаку, если магическая сила выстроившихся бойцов будет возрастать слева направо. Но бойцы уже выстроились в строй, для которого это условие, возможно, не выполняется.
Для того, чтобы отразить атаку, Гарри хочет переставить бойцов по возрастанию магической силы. Для этого он действует по следующему алгоритму. Гарри идет слева направо и смотрит на все пары бойцов, стоящих рядом. Если он чувствует, что левый боец сильнее правого, он меняет их местами.
Из предмета <<Основы маггловской информатики>> Гарри знает, что если он сделает \(n-1\) такой проход, все бойцы окажутся расположены в порядке возрастания их магической силы. Однако времени мало, поэтому Гарри успеет сделать только \(k\) таких проходов.
Помогите Гарри узнать, в каком порядке бойцы встретят армию противника.
В первой строке входного файла находится целое число \(n\) (\(1 \le n \le 200{\,}000\)) - количество защитников Хогвартса и число \(k\) (\(0 \le k \le n-1\)) - количество проходов, которое успеет сделать Гарри. Во второй строке находится \(n\) чисел \(a_i\) (\(1 \le a_i \le n\)) - магические силы бойцов в изначальном строю в порядке слева направо.
В единственной строке выходного файла выведите \(n\) чисел \(b_i\) - магические силы бойцов в строю после \(k\) проходов Гарри.
2 1 1 2
1 2
3 1 2 3 1
2 1 3