На стандартной QWERTY-клавиатуре присутствует ряд из цифр от 0 до 9, находящийся над рядами букв. На этих клавишах помимо цифр расположены специальные символы, которые можно написать, нажав соответствующую клавишу с зажатой клавишей Shift.
Если по какой-либо причине у вас отсутствует клавиатура, вот этот ряд с соответствующими символами:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
| ! | @ | # | $ | % | ^{} | & | * | ( | ) |
Напишите программу, определяющую символ, который будет напечатан, если нажать Shift и определённую цифру.
В единственной строке ввода содержится одно целое число от 0 до 9 — нажатая цифра.
Выведите нужный символ.
1
!
Одним из способов проведения какого-либо турнира является формат playoff. В турнире участвуют N = 2k команд. В самом начале команды разбиваются на пары, победители в каждой паре проходят дальше по турнирной сетке, играя по аналогичным правилам для вдвое меньшего количества игроков, а проигравшие занимают низ итоговой таблицы. Заметим, что победитель последней встречи является победителем всего турнира.
Одним из минусов этой системы является неполная объективность результатов: не все команды играют между собой для определения чемпиона. Для того, чтобы занять первое место, нужно выиграть всего лишь k встреч. Из-за этого высока непредсказуемость результатов и всё зачастую зависит от изначального расположения команд на старте турнира.
Вы работаете в организации, которая собирается провести крупный турнир. Начальство хочет выбрать стартовую расстановку лично. Для удобства, названия команд заменены на уникальный номер от 1 до N, а расстановка записывается как последовательность этих чисел. Специальный менеджер уже подготовил M вариантов расстановок, но за миг до то того, как предоставить их для рассмотрения обнаружил, что некоторые из них являются эквивалентными. Допустим, мы будем знать исход встречи для каждой возможной пары команд. Тогда, две стартовые расстановки называются эквивалентными, если итоговые таблицы этих сеток совпадут. Матчи, сыгранные в этих сетках, будут одни и те же, возможно, в другом порядке.
Чтобы не нагружать начальство, менеджер попросил вас о помощи. По заданному списку расстановок посчитайте количество различных из них, то есть тех, которые не являются эквивалентными. Если вы сделаете это быстро, вам будет обеспечено место в первых рядах до конца турнира.
В первой строке содержатся два натуральных числа N и M (1 ≤ N × M ≤ 219; N является степенью числа 2).
Следующие M строк содержат расстановки, в каждой строке содержится по N различных чисел от 1 до N.
Выведите в единственную строку количество различных предложенных расстановок.
4 6
1 2 3 4
4 3 2 1
1 3 2 4
4 3 1 2
1 4 2 3
3 2 1 4
3
2 2
1 2
2 1
1
В первом примере эквивалентными являются три расстановки [1, 2, 3, 4], [4, 3, 2, 1] и [4, 3, 1, 2], а также две [1, 4, 2, 3], [3, 2, 1, 4].
Поликарп недавно зарегистрировался в музыкальном сервисе «first.am», который помогает узнать о новой музыке, основываясь на том, что слушает пользователь.
Пользуясь сервисом, Поликарп обнаружил, что предлагаемые песни и исполнители никак не похожи на то, что он любит. Проведя своё расследование, он узнал, что оказывается, сервис считает двух исполнителей эквивалентными тогда и только тогда, если их названия содержат одинаковую подпоследовательность подряд идущих L символов, содержащих только буквы и/или цифры. Причём, при сравнении букв игнорируется регистр.
Поликарп решил написать письмо в службу поддержки и объяснить, что такой принцип эквивалентности неверный, ибо если исполнитель A эквивалентен исполнителю B, а B эквивалентен C, то это не всегда будет означать, что A эквивалентен C.
Для этого Поликарпу нужна помощь. По заданному списку исполнителей P посчитайте количество пар таких исполнителей Pi и Pj (1 ≤ i < j ≤ N), что они не эквивалентны, но при этом найдётся такое k, что исполнитель Pi эквивалентен Pk и Pj эквивалентен Pk.
Первая строка содержит два целых числа N и L (1 ≤ N, L ≤ 50).
Следующие N строк содержат названия исполнителей Pi, состоящие из символов с ASCII-кодами от 32 до 126 включительно и имеющие длину от 1 до 50.
В единственную строку выведите количество пар исполнителей, которые интересуют Поликарпа.
3 5
The Stone Roses
Rolling Stones
Guns N'Roses
1
В торрент-трекере качается файл, который раздают N сидеров. Файл поделён на M равных фрагментов. Для каждого сидера известно какие фрагменты у него доступны.
Чтобы скачать файл, нужно скачать все фрагменты. Канал скачивания имеет неограниченную скорость, фрагменты можно скачивать параллельно у нескольких сидеров. Тем не менее, скорость раздачи у сидеров ограничена: у i-го сидера на раздачу одного фрагмента уходит ti секунд. Сидер может раздавать одновременно только один фрагмент.
Ваша задача состоит в том, чтобы вычислить минимальное время, за которое можно скачать файл, а также сказать как это сделать, то есть для каждого фрагмента сказать, у какого сидера его нужно скачивать. В течение всей загрузки доступность фрагментов ни у кого не меняется.
Первая строка содержит два целых числа N и M — количество сидеров и количество фрагментов (1 ≤ N, M ≤ 100).
В следующих N строках содержатся описания сидеров в виде строки ai и целого числа ti (1 ≤ ti ≤ 106). Строка ai содержит N символов и описывает фрагменты: доступные обозначаются символом «+», а недоступные «.».
В первую строку выведите минимальное время, необходимое для загрузки всего файла.
Во второй строке выведите M целых чисел si, означающих, что для загрузки всего файла i-ю часть нужно скачивать у сидера с номером si (1 ≤ si ≤ N).
Если вариантов оптимальной загрузки несколько, можно вывести любой.
3 4
.+.+ 1
+... 4
+.+. 3
4
2 1 3 1
2 5
+++++ 2
+++++ 3
6
1 2 1 2 1
Вам дано целое положительное число A.
За одно действие вы можете удалить из него одну цифру, если в числе есть хотя бы две цифры.
Вам разрешено делать сколько угодно таких действий. Какое максимальное простое число вы можете получить?
Напомним, что простое число — это число, которое имеет ровно два различных положительных делителя.
Первая строка содержит целое число A (0 < A < 1012).
Выведите максимальное простое число, которое можно получить из A.
Если такое число получить невозможно, выведите число - 1.
123
23
321
31
666
-1
Алиса и Боб зашли в картинную галерею и решили осмотреть местные экспонаты.
Все картины различны, расположены в ряд и пронумерованы от $$$1$$$ до $$$10^{9}$$$.
Алиса и Боб осматривали картины независимо и так получилось, что Алиса захотела приобрести картины с номерами между $$$a$$$ и $$$b$$$ включительно, а Боб картины с номерами между $$$c$$$ и $$$d$$$ включительно.
Сколько картин в итоге приобретут ребята? Если картина приглянулась обоим, то они возьмут только один экземпляр.
Первая строка содержит два целых числа $$$a$$$ и $$$b$$$.
Вторая строка содержит два целых числа $$$c$$$ и $$$d$$$.
$$$1 \leq a,b,c,d \leq 10^{9}$$$
Выведите количество картин, которые приглянулись обоим ребятам.
1 2
3 4
4
5 9
8 6
5
Ваша задача — составить десятичное число длины $$$N$$$ из цифр $$$1$$$, $$$2$$$, $$$3$$$ и $$$4$$$ такое, чтобы каждая из перечисленных цифр встречалась в числе и чтобы полученное число делилось на все эти цифры.
В единственной строке содержится целое число $$$N$$$ ($$$1 \leq N \leq 50$$$).
Если ответа по вашему мнению не существует, выведите единственное слово «impossible».
Иначе выведите ответ — искомое число. Разрешается выводить любой подходящий ответ.
1
impossible