Пин собирал свое очень важное новое изобретение, но в какой-то момент он обнаружил, что ошибся в одной из формул и мог собрать соответствующую деталь неправильно.
Внимательно посмотрев на деталь и исправив формулу, Пин отметил, что сейчас в детали стоят две шестеренки с $$$a$$$ и $$$b$$$ зубцами соответственно, а работать правильно она будет с шестеренками размеров $$$a + x$$$ и $$$b + x$$$ соответственно, где $$$x$$$ — неотрицательное целое число такое, что $$$a + x$$$ делится на $$$b$$$, и $$$b + x$$$ делится на $$$a$$$.
Пин очень устал, поэтому просит помочь ему найти такое неотрицательное $$$x$$$, удовлетворяющее заданным условиям. Поскольку Пин не любит большие шестеренки, из всех подходящих значений $$$x$$$ следует выбрать минимальное.
В единственной строке ввода через пробел заданы два числа $$$a$$$ и $$$b$$$ — размеры шестеренок в детали ($$$1 \le a, b \le 10^9$$$).
Выведите единственное целое неотрицательное число $$$x$$$ — минимальное количество зубцов, которых не хватает в шестеренках, чтобы изобретение работало правильно.
10 5
5
8 1
7
3 4
5
123 123
0
Ясными летними днями Нюша любит ловить бабочек на свежем воздухе. Сегодня ей попалась хитрая бабочка: она залетела в лабиринт и хотела скрыться в нем от Нюши.
Лабиринт состоит из $$$n$$$ комнат, пронумерованных от $$$1$$$ до $$$n$$$, некоторые из которых соединены между собой коридорами. Известно, что между любыми двумя комнатами существует единственный путь из коридоров. Иными словами, лабиринт представляет собой дерево, и количество коридоров равно $$$n - 1$$$.
Вход в лабиринт расположен в комнате с номером $$$1$$$. Будем называть листом любую комнату лабиринта, которая соединена коридором ровно с одной другой комнатой и не совпадает при этом с корнем. В каждом из листов располагается выход из лабиринта. Бабочка летит от входа по направлению к одному из листов. Она летит с постоянной скоростью и не разворачивается. Все коридоры имеют одинаковую длину, и за одну минуту бабочка пролетает один коридор, перемещаясь в соседнюю комнату.
Для поимки бабочки, Нюша решила позвать несколько своих друзей. Исходно каждый из друзей может расположиться в любой из комнат, содержащих выход. В тот момент, когда бабочка начнет лететь от входа в лабиринт к одному из выходов, каждый из друзей может начать двигаться из своей комнаты по направлению ко входу. Друзья двигаются с такой же скоростью, что и бабочка. Если кто-то из друзей оказался в одной точке (в комнате или в середине одного из коридоров) с бабочкой, то бабочка считается пойманной. Если же бабочка долетит до вершины с выходом, не встретив никого из друзей по пути, она благополучно выпорхнет из лабиринта и улетит на свободу.
Помогите Нюше определить, какое минимальное число друзей понадобится для того, чтобы гарантированно поймать бабочку, вне зависимости от того, к какому выходу она полетит.
Первая строка входных данных содержит целое число $$$n$$$ — количество комнат в лабиринте ($$$2 \le n \le 200\,000$$$).
В следующих $$$n - 1$$$ строках содержатся описания коридоров, соединяющих комнаты. Каждая из этих строк содержит два целых числа $$$u$$$ и $$$v$$$ — номера комнат, которые соединяет коридор ($$$1 \le u, v \le n$$$; $$$u \neq v$$$). Гарантируется, что структура коридоров представляет собой дерево.
Выведите одно целое число — минимальное количество друзей, необходимое для того, чтобы гарантированно поймать бабочку.
3 1 2 1 3
2
4 1 2 2 3 2 4
1
В стране Смешариков новый сезон! Теперь все они отправляются в поход. Для этого им нужно встретиться в одной точке, и уже оттуда отправиться покорять мир. Лосяшу, координирующему действия Смешариков, известны координаты всех участников похода. Помогите ему определить минимальное количество секунд, которое понадобится Смешарикам, чтобы собраться всем вместе.
Изначально все Смешарики находятся в узлах целочисленной сетки. Если Смешарик находится в точке $$$(x, y)$$$, то за одну секунду он может переместиться в точки $$$(x, y + 1)$$$, $$$(x + 1, y)$$$, $$$(x - 1, y)$$$ или $$$(x, y - 1)$$$, или же остаться в точке $$$(x, y)$$$.
В первой строке дано одно целое число $$$n$$$ — количество Смешариков ($$$1 \le n \le 200\,000$$$). Далее в $$$n$$$ строках даны изначальные позиции Смешариков. Каждая позиция описывается двумя целыми числами $$$x_i$$$ и $$$y_i$$$ ($$$-10^{18} \le x_i, y_i \le 10^{18}$$$).
Выведите единственное число — минимальное количество секунд, которое понадобится Смешарикам, чтобы собраться в одной точке.
1 1 1
0
2 1 3 4 4
2
3 0 0 3 3 0 3
3
У Совуньи была цепочка, состоявшая из $$$n$$$ звеньев, пронумерованных от $$$1$$$ до $$$n$$$. Но пока цепочка валялась в комоде, она вся запуталась. Совунья хочет исправить ситуацию.
Каждое звено представляет из себя кольцо из проволоки. Каждые два звена либо сцеплены друг с другом, либо нет. Совунья обратилась за помощью к Пину. Он может делать два действия:
В конце все звенья должны быть запаянными.
Совунья хочет, чтобы звено номер $$$1$$$ было сцепленно со звеном номер $$$2$$$, $$$2$$$ с $$$3$$$, ..., $$$n - 1$$$ с $$$n$$$. Иными словами, чтобы были сцеплены звенья с номерами $$$i$$$ и $$$i + 1$$$ для всех $$$i \in [1, n - 1]$$$. А никакие другие пары звеньев не должны быть сцеплены.
Помогите Пину определить минимальное количество действий, которые ему придется выполнить, чтобы починить цепочку.
В первой строке даны два целых числа $$$n$$$ и $$$m$$$ — количество звеньев и количество пар изначально сцепленных звеньев ($$$1 \le n \le 40$$$, $$$0 \le m \le \frac{n \cdot (n - 1)}{2}$$$).
В следующих $$$m$$$ строках дано по два целых числа $$$a_i$$$ и $$$b_i$$$ — номера сцепленных звеньев ($$$1 \le a_i, b_i \le n$$$; $$$a_i \neq b_i$$$).
Гарантируется, что во входных данных каждая неупорядоченная пара звеньев встречается максимум один раз.
Выведите одно целое число — минимальное количество действий, которые должен сделать Пин, чтобы починить цепочку.
3 3 1 2 2 3 3 1
2
5 0
4
1 0
0
В первом примере Пин может расковать звено номер $$$3$$$. Тогда оно отсоединится от обоих оставшихся звеньев. А затем, запаять звено номер $$$3$$$ обратно, сцепив его только со звеном номер $$$2$$$.
Во втором примере Пин может расковать звено номер $$$2$$$, затем запаять его обратно соединив со звеньями $$$1$$$ и $$$3$$$. А затем, расковать звено номер $$$4$$$ и запаять обратно, соединив со звеньями $$$3$$$ и $$$5$$$.
Роясь в одном из сундуков у себя дома, Карыч нашел старый кнопочный телефон. На этом телефоне есть всего одна игра, зато какая! Змейка! Раньше Карыч много играл в нее, пока, например, ехал в поезде или стоял в очереди.
Игра происходит на клетчатом поле $$$n \times m$$$. Поле не является зацикленным ни по вертикали, ни по горизонтали. То есть, если змейка врежется в границу поля, игра закончится проигрышем. Строки поля пронумерованы от $$$1$$$ до $$$n$$$ сверху вниз, а столбцы — от $$$1$$$ до $$$m$$$ слева направо.
В любой момент времени змейка представляет из себя последовательность клеток, в которой каждые две последовательные клетки являются соседними по стороне. Каждая клетка встречается в последовательности не более одного раза. Первая клетка последовательности называется головой змейки, а последняя — хвостом. Также, одна из клеток поля, не принадлежащих змейке, содержит яблоко.
На каждом ходу игрок должен выбрать одно из четырех направлений движения: «вверх», «вниз», «влево» или «вправо». После этого, игра находит соседнюю с головой змейки клетку в выбранном игроком направлении. Назовем её $$$q$$$.
Обратите внимание, что из-за того, что сначала из последовательности удаляется старая клетка хвоста, а только затем добавляется новая клетка головы, после хода клетка головы может занять клетку, в которой до этого хода находился хвост.
В начале игры змейка имеет длину $$$1$$$.
Карыч слышал, что если выиграть в этой игре, то есть заполнить змейкой все клетки поля, то игра покажет мультик. Но ему никогда не удавалось этого достичь. Помогите ему! Вы должны сделать не более $$$100\,000$$$ ходов.
В первой строке вам будут даны два целых числа $$$n$$$ и $$$m$$$ — размеры поля ($$$2 \le n, m \le 10$$$).
Во второй строке даны два целых числа $$$x_s$$$ и $$$y_s$$$ — номер строки и столбца, на пересечении которых находится клетка, из которой состоит змейка в начале игры ($$$1 \le x_s \le n$$$, $$$1 \le y_s \le m$$$).
В третьей строке даны два целых числа $$$x_a$$$ и $$$y_a$$$ — координаты клетки, в которой в начале игры находится яблоко ($$$1 \le x_a \le n$$$, $$$1 \le y_a \le m$$$).
Далее, вы должны взаимодействовать в тестирующей программой. На каждом ходу вы должны вывести один из символов, обозначающих направление движения: «U» (вверх), «D» (вниз), «L» (влево) или «R» (вправо).
Затем, программа выведет один из нескольких возможных ответов:
Гарантируется, что в любой момент времени яблоко будет находиться в клетке, не принадлежащей змейке.
Не забывайте после каждого вывода переводить строку и сбрасывать буфер вывода. Подробнее можно прочитать в блоге на codeforces: https://codeforces.me/blog/entry/45307.
2 2 1 1 2 1 ok ok new 1 1 new 1 2 win
R D L U R
После того, как Копатыч своей тачкой въехал в очередной механизм Пина, тот рассердился и на собрании Смешариков установил новый порядок пользования землёй. Теперь каждый Смешарик, который хочет использовать какой-то участок страны Смешариков, должен его задекларировать в специальной книжечке, хранящейся у Ёжика. Страну Смешариков можно представить в виде клетчатого прямоугольника с вертикальной стороной $$$H$$$ и горизонтальной стороной $$$W$$$.
На следующий день ровно в 8:01 к двери Ёжика одновременно примчались Совунья и Нюша: Совунья хотела выделить место под спортивную площадку, а Нюше нужна была зона для упражнений по кордебалету.
Чтобы предотвратить споры, Ёжик сказал Нюше и Совунье, чтобы они заранее договорились, кому какой участок нужен, и только потом шли записываться в книжечку. Также он установил некоторые правила:
Теперь Совунья и Нюша стоят дома у Ёжика перед картой и перебирают все варианты, как они могли бы выбрать два прямоугольника. Помогите Ёжику оценить, на сколько затянется это нарушение личных границ, и найдите число способов выбрать два прямоугольника, удовлетворяющих указанным ограничениям. Это число может быть достаточно велико, так что вычислите его по модулю $$$10^9 + 7$$$.
В первой строке даны два целых числа $$$H$$$ и $$$W$$$ — высота и ширина страны Смешариков ($$$1 \le H, W \le 10^9$$$). Во второй строке даны два целых числа $$$h$$$ и $$$w$$$ — максимальная разрешённая высота и ширина прямоугольников ($$$1 \le h, w \le 3 \cdot 10^5$$$; $$$h \le H$$$; $$$w \le W$$$).
Выведите одно целое число — остаток при делении на $$$10^9+7$$$ количества способов Совунье и Нюше выбрать место под спортивную площадку и под кордебалетную зону.
1 1 1 1
0
2 3 1 2
70
331 177 102 107
0
В первом примере страна Смешариков состоит всего из одной клетки, и в неё не вместить два непересекающихся прямоугольника, каждый из которых содержит хотя бы одну клетку.
Ниже на картинке указаны 35 способов разместить спортивную площадку (красный прямоугольник) и кордебалетную зону (зелёный прямоугольник) во втором примере. Остальные 35 способов получатся, если поменять цвета прямоугольников местами.
В третьем примере есть ровно $$$\num{119493408836453856}=\left(10^9+7\right)\cdot\num{119493408}$$$ способов, так что ответ 0.
Сегодня Крош узнал про среднее геометрическое чисел. Среднее геометрическое двух положительных чисел $$$x$$$ и $$$y$$$ равно $$$\sqrt{x \cdot y}$$$. Обозначим среднее геометрическое чисел $$$x$$$ и $$$y$$$ как $$$g(x, y)$$$.
У Кроша было три положительных вещественных числа $$$a$$$, $$$b$$$ и $$$c$$$. Он использовал их, чтобы попрактиковаться в вычислении средних геометрических. Он вычислил и записал числа $$$g(a, b)$$$, $$$g(a, c)$$$ и $$$g(b, c)$$$.
Спустя некоторое время, Крош увидел записанные значения средних геометрических. И теперь он хочет вспомнить, какие числа $$$a$$$, $$$b$$$ и $$$c$$$ у него были. Помогите ему найти любые подходящие положительные числа $$$a$$$, $$$b$$$ и $$$c$$$.
В первой строке дано значение среднего геометрического чисел $$$a$$$ и $$$b$$$, иными словами — $$$g(a, b)$$$.
Аналогично, во второй строке дано число $$$g(a, c)$$$.
И в третьей строке дано число $$$g(b, c)$$$.
Все три числа являются вещественными, положительными, не превышают $$$10^9$$$ и содержат не более $$$6$$$ цифр после запятой.
Выведите любые подходящие положительные числа $$$a$$$, $$$b$$$ и $$$c$$$. Жюри вычислит средние геометрические выведенных вами чисел. Ответ будет считаться правильным, если абсолютная или относительная погрешность каждого из средних не будет превышать $$$10^{-6}$$$.
Можно доказать, что при любых входных данных, удовлетворяющих ограничениям, решение существует.
12 20 15
16.000000000000000 9.000000000000000 25.000000000000000
1.234567 2.345678 3.456789
0.837741803571465 1.819362088642601 6.567901060000794
0.000001 0.000001 0.000001
0.000001000000000 0.000001000000000 0.000001000000000
Лосяш решил сделать обучение более доступным для Смешариков и открыл школу. Разумеется, как и в любой другой школе, в этой школе есть учителя (например, Пин и Совунья) и есть ученики (например, Крош и Ёжик). Ну и, конечно же, Лосяш — директор. Всего суммарно в школе $$$n$$$ Смешариков (преподавательского состава и учеников). Для удобства, пронумеруем их натуральными числами от $$$1$$$ до $$$n$$$.
Для общения между учениками и учителями был создан мессенджер, который позволяет написать сообщение любому другому пользователю, но с некоторыми дополнительными правилами:
Обратите внимание, что когда директор читает непрочитанное сообщение, отправленное учеником, оно удаляется из непрочитанных только у него (но не у учителей).
Лосяш хочет оптимизировать учебный процесс, поэтому в некоторые моменты времени ему интересно, сколько непрочитанных сообщений есть у какого-то конкретного пользователя.
Вам дана последовательность из $$$q$$$ событий в том порядке, в котором они происходили. Для каждого события, соответствующего вопросу Лосяша, выведите ответ.
В первой строке даны два целых числа $$$n$$$ и $$$q$$$ — количество Смешариков в школе и количество событий, соответственно ($$$1 \le n, q \le 2 \cdot 10^5$$$).
Во второй строке даны $$$n$$$ целых чисел $$$t_i$$$ — роли Смешариков ($$$t_i \in \{0, 1, 2\}$$$). Если $$$t_i = 0$$$, то $$$i$$$-й Смешарик — это директор Лосяш. Если $$$t_i = 1$$$ — это учитель. Иначе — ученик. Гарантируется, что ровно одно число среди $$$t_i$$$ равно $$$0$$$.
В следующих $$$q$$$ строках дано описание событий. Событие номер $$$i$$$ может иметь один из трех типов ($$$1 \le i \le q$$$):
Для каждого события третьего типа выведите на новой строке количество непрочитанных сообщений у пользователя $$$a_i$$$.
4 5 0 1 1 2 1 2 4 1 4 2 2 3 2 3 1 3 2
2 0
Лосяш решил заняться бегом и для этой цели взял у Пина секундомер. Через несколько недель Лосяш стал поспортивнее и стал делать за раз больше одного круга на стадионе. Тут-то он и столкнулся с классической проблемой лёгкой атлетики: если достаточно долго бежишь, то забываешь, сколько кругов ты уже пробежал и сколько тебе осталось. К счастью, на секундомере был специальный индикатор, который показывает текущий номер круга. Теперь каждый раз, пробегая через финишную черту, Лосяш нажимал специальную кнопку на секундомере, и число на индикаторе возрастало на единицу.
Что же это за индикатор такой, спросите вы, который может отображать сколь угодно большие натуральные числа? А он и не может. В основе индикатора лежит шестерёнка с $$$m$$$ зубьями, на которых написаны натуральные числа от 1 до $$$m$$$, вращающаяся при нажатии кнопки. Таким образом, если число, отображаемое индикатором, дошло до $$$m$$$, и Лосяш нажал кнопку, то оно сбрасывается до единицы.
Один раз после пробежки Лосяш вспомнил, что Совунья просила его одолжить секундомер, чтобы она могла в точности по рецепту приготовить сычуаньский соус. Лосяш просто обожает этот соус, поэтому он тут же пошёл к Совунье и решил, кроме того, сделать ей приятно и выставить на индикаторе $$$b$$$ — любимое число Совуньи (так удачно совпало, что это было как раз число от 1 до $$$m$$$, то есть индикатор был способен его отобразить). В тот момент на индикаторе отображалось число $$$a$$$.
Лосяшу было ни к столбу ни к перилу делать лишние действия, поэтому он решил нажать на кнопку наименьшее число раз, чтобы индикатор стал показывать желаемое число. Ему даже лень было посчитать количество нажатий на кнопку, которое он сделал. Поэтому это предстоит сделать вам.
В первой строке дано целое число $$$m$$$ — наибольшее значение, которое может отображать индикатор ($$$2 \le m \le 100$$$).
Во второй строке дано целое число $$$a$$$, которое изначально показывал индикатор ($$$1 \le a \le m$$$).
В третьей строке дано целое число $$$b$$$ — любимое число Совуньи ($$$1 \le b \le m$$$).
Выведите одно целое число — минимальное количество нажатий на кнопку, которое Лосяшу требуется сделать, чтобы на индикаторе стало отображаться $$$b$$$.
30 30 30
0
10 2 5
3
9 8 3
4
В первом примере секундомер уже показывает любимое число Совуньи, ничего делать не нужно.
Во втором примере требуется три нажатия: $$$2 \to 3 \to 4 \to 5$$$.
В третьем примере требуется четыре нажатия: $$$8 \to 9 \to 1 \to 2 \to 3$$$.
Бараш увлекся бегом. А чтобы не было скучно, во время бега он слушает музыку.
Сегодня Бараш забыл включить секундомер в начале пробежки, поэтому теперь не знает, сколько времени он бегал. Однако, он естественно не забыл включить музыку. Теперь он хочет вычислить длительность пробежки, используя информацию о песнях, которые он послушал.
Всего за время пробежки он целиком послушал $$$n$$$ песен. Для каждой песни он выписал ее длительность в формате mm:ss. До двоеточия стоят ровно две цифры, обозначающие количество минут, а после — ровно две цифры, обозначающие количество секунд. Каждая песня длится строго меньше часа, количество минут и секунд лежат в отрезке от $$$0$$$ до $$$59$$$ включительно.
Помогите Барашу определить длительность пробежки и выведите ее в формате hh:mm:ss. Сначала ровно две цифры, обозначающие количество часов, затем две цифры — количество минут, и наконец — количество секунд. Гарантируется, что Бараш бегал строго меньше суток. Количество часов должно лежать в отрезке от $$$0$$$ до $$$23$$$, а количество минут и секунд — в отрезке от $$$0$$$ до $$$59$$$.
В первой строке дано одно целое число $$$n$$$ — количество песен, которые Бараш успел послушать за время пробежки ($$$1 \le n \le 1\,000$$$).
Далее даны $$$n$$$ строк, каждая из которых имеет вид mm:ss — длительность очередной песни. Гарантируется, что длительности всех песен положительны.
Выведите длительность пробежки Бараша в формате hh:mm:ss. Гарантируется, что Бараш бегал строго меньше суток.
2 10:01 00:59
00:11:00
3 12:34 23:45 34:56
01:11:15