Сенсация! В программу Олимпийских игр решили включить соревнования по распилу бревен на скорость. Однако с организацией турнира возникли некоторые сложности. Как уже известно, в турнире примут участие N спортсменов.
Турнир будет организован по следующей схеме: будет проведено T туров, причем первые T - 1 из них будут отборочными, а последний — финальным. В каждом из отборочных туров все оставшиеся спортсмены будут разбиты на \(A\) (\(A\) >= 2) подгрупп по ровно \(B\) (\(B\) >= 2) человек в каждой. Из каждой подгруппы дальше пройдут ровно C человек (1 <= \(C\) < \(B\)). Для каждого отборочного тура будут выбраны свои значения \(A\), \(B\) и \(C\). В финале все оставшиеся участники одновременно сразятся между собой, определив чемпиона.
Так как доход организаторов зависит от количества проданных билетов, а оно, в свою очередь, от количества туров, то организаторы хотят провести как можно больше туров. Однако сами они с этой задачей не справились, поэтому обратились к вам за помощью. Найдите максимально возможное количество туров, включая финальный, которое можно провести, выбирая значения \(A\), \(B\) и \(C\) для каждого из отборочных туров.
В первой строке входного файла задано единственное целое число \(N\) — количество участников турнира (1 <= \(N\) <= 1012).
Выведите единственное целое число — максимально возможное количество туров.
Тесты к этой задаче состоят из пяти групп.
0. Тесты 1–2. Тесты из условия, оцениваются в ноль баллов
1. Тесты 3–30. В тестах этой группы N <= 30. Эта группа оценивается в 25 баллов, баллы начисляются только при прохождении всех тестов группы.
2. Тесты 31–40. В тестах этой группы N <= 1 000. Эта группа оценивается в 25 баллов, баллы начисляются только при прохождении всех тестов группы. Решение будет тестироваться на тестах этой группы только в случае прохождения всех тестов первой. группы.
3. Тесты 41–50. В тестах этой группы N <= \(10^6\). Эта группа оценивается в 25 баллов, баллы начисляются только при прохождении всех тестов группы. Решение будет тестироваться на тестах этой группы только в случае прохождения всех тестов первой и второй групп.
4. В тестах этой группы дополнительные ограничения отсутствуют. Эта группа оценивается в 25 баллов. Решение будет тестироваться на тестах этой группы offline, т. е. после окончания тура, причем только в случае прохождения всех тестов первой, второй и третьей групп. Тесты в этой группе оцениваются независимо
3
1
6
3
Был обычный весенний вечер. За окном завывала метель. Бухгалтер Евгений скучал на работе и с грустью вспоминал о своих былых успехах на олимпиадах по программированию. В его школьные годы на олимпиадах давали не больше восьми задач, и, разглядывая график своих успехов на сайте Topforces, ему удалось подсчитать, что в \(v_1\) олимпиадах он решил ровно 1 задачу, в \(v_2\) олимпиадах — ровно 2, \(\ldots\), в \(v_8\) олимпиадах — ровно 8 задач (Евгений предпочитал не вспоминать об олимпиадах, на которых он ничего не решил). К концу рабочего дня в офисе не осталось чистой бумаги, а из всех электронных устройств включенным оставался только калькулятор. Нашему герою ничего другого не оставалось, кроме как ввести памятные ему числа в калькулятор: \(v_1 1 v_2 2 \ldots v_8 8\). Стоит заметить, что никаких пробелов и других разделителей на калькуляторе Евгения не было, поэтому он записал эти числа просто подряд, получив некоторое число \(N\). Кроме того, он был достаточно ленив, поэтому все \(v_i\) вводил без ведущих нулей, а если какое-то \(v_i\) равнялось нулю, то соответствующую пару \(v_i i\) он просто не вводил.
Например, если \(v_2 = 111\), \(v_3 = 1\), а все остальные \(v_i = 0\), то у Евгения получилось бы число \(N = 111213\).
Уйдя с работы, Евгений оставил калькулятор с введенным числом \(N\) на столе, чем и воспользовалась его любопытная коллега Марина. Она сразу догадалась, как образовано введенное число, и уже собиралась приступать к расшифровке, как вдруг поняла, что различных наборов \((v_1, \ldots, v_8)\), из которых можно было получить это число, может быть достаточно много. Так, приведенное выше число \(N\) может быть получено также и при \(v_1 = 11\), \(v_3 = 21\).
Марина попросила вас найти количество таких наборов по модулю числа \(1\,000\,000\,007 = 10^9 + 7\).
Входной файл содержит единственное оставленное Евгением на калькуляторе целое число \(N\) (\(1 \leqslant N \lt 10^{1\,000\,000}\)).
Выведите единственное целое число количество различных наборов \((v_1, . . . , v_8)\), из которых описанным выше алгоритмом можно было получить число \(N\) , по модулю числа \(10^9 + 7\).
Два набора \((v_1, . . . , v_8)\) и \((v′_1, . . . , v′_8)\) будем считать различными, если хотя бы для одного \(i\) от \(1\) до \(8\) \(v_i \ne v′_i\).
Обратите внимание, что Евгений мог ошибиться и получить число \(N\), которое не соответствует ни одному набору \((v_1, . . . , v_8)\).
111213
5
Компания «Nanosoft» готовится удивить мир принципиально новой игрой для смартфонов «Две башни». Ее ключевая особенность заключается в том, что играть в нее смогут даже самые маленькие дети. Во-первых, для управления используется всего одна кнопка. Во-вторых, проиграть просто невозможно (правда, игроку может надоесть часами нажимать на одну и ту же кнопку).
Игровое поле представляет собой бесконечную горизонтальную ленту, разбитую на ячейки, пронумерованные целыми числами слева направо (см. рис.). Изначально в ячейках с отрицательными номерами расположена армия монстров, у каждого из которых есть некоторое количество единиц здоровья. А именно, в ячейках \(-1, -2, \ldots, -K\) расположены монстры с 1 единицей здоровья, в следующих \(K\) ячейках (с номерами \(-(K+1), \ldots, -2K\)) расположены монстры с 2 единицами здоровья и так далее. Таким образом, для каждого целого положительного числа \(i\) в ячейке с номером \(-i\) изначально находится монстр с \(\left\lceil\frac{i}{K}\right\rceil\) единицами здоровья. Кроме того, на ленте расположены две башни, каждая из которых контролирует некоторый отрезок ленты: первой башне соответствуют все ячейки с \(A\) по \(B\) включительно, а второй - ячейки с \(C\) по \(D\) включительно (\(0 \leqslant A \leqslant B \lt C \leqslant D\)).
Например, при \(K = 3\), \(A = B = 1\), \(C = 3\), \(D = 4\) исходная позиция будет выглядеть следующим образом:
После очередного нажатия на кнопку происходит следующее. Сначала вся армия сдвигается на одну позицию вправо. Затем каждая башня производит выстрел по самому правому монстру, находящемуся в области ее видимости, отнимая у него единицу здоровья. Если у монстра отнимают последнюю единицу здоровья, он немедленно умирает и исчезает.
Игра заканчивается, как только впервые в ячейке с номером \(D + 1\) окажется монстр.
Как вы уже могли заметить, главная проблема игры заключается в том, что для выигрыша может потребоваться слишком много нажатий на кнопку, поэтому для некоторых особо сложных уровней решено ограничить возраст игроков, допускаемых к его прохождению. В связи с этим вам нужно определить, сколько нажатий на кнопку потребуется для победы на данном уровне, который описывается числами \(K\),\(A\), \(B\), \(C\) и \(D\).
В единственной строке входного файла содержатся 5 целых чисел \(K\), \(A\), \(B\), \(C\), \(D\) (\(1 \le K \le 10^9\), \(0 \le A \le B \lt C \le D \le 10^9\)). Соседние числа разделены одним пробелом.
Выведите единственное натуральное число - ответ на задачу.
Пошагово разберем первый тест.
2 0 0 1 1
7
3 1 1 3 4
13
1 2 3 7 11
17
Даны три строки \(A\), \(B\), \(C\). Требуется выбрать строки \(A'\), \(B'\) и \(C'\) (возможно пустые, возможно совпадающие), так чтобы строка \(A\) удовлетворяла шаблону \(*A'*B'*\), строка \(B\) удовлетворяла шаблону \(*C'*A'*\), строка \(C\) удовлетворяла шаблону \(*B'*C'*\) и величина \(|A'| + |B'| + |C'|\) была максимальна.
Первая строка входного файла содержит единственное целое число \(N\) (\(1 \le N \le 2\,000\)) - длину каждой из входных строк. В следующих трех строках содержатся строки \(A\), \(B\) и \(C\), каждая из которых состоит из \(N\) строчных латинских букв.
Выведите единственное целое число - \(|A'| + |B'| + |C'|\). Если не существует строк \(A'\), \(B'\) и \(C'\), из которых можно получить данные три строки \(A\), \(B\) и \(C\), то выведите ноль.
Тесты к этой задаче состоят из четырех групп.2 ac ba cb
3
4 agtb icea tbhc
4
3 abc cde dea
2