Маленький мальчик Гриша уже сам начал делать олимпиады, и ему как раз нужно подготовить Открытую Олимпиаду по Информатике. Для олимпиады нужно придумывать задачи, а Гриша как раз очень любит этим заниматься. Каждую задачу он характеризует ее сложностью, которая является неотрицательным целым числом. Сложность олимпиады Гриша оценивает как сумму сложностей всех задач в ней.
На Открытую Олимпиаду по Информатике Грише требуется придумать $$$n$$$ задач. Конечно, Гриша еще не дорос до того, чтобы составлять олимпиаду самому, поэтому за его действиями следит многоуважаемое начальство. Начальство любит отвергать некоторые задачи, но Гриша знает, что оно не может отклонить больше, чем $$$k$$$ из его задач. Также Гриша, исходя из своего большого опыта, считает, что давать олимпиаду со сложностью меньше чем $$$x$$$ будет бессмысленно, поэтому он не допустит такого.
Как мы уже говорили, Гриша — настоящий специалист в придумывании задач и может придумать сколько угодно задач любой сложности. Он хочет придумать $$$n$$$ задач, понимая, что часть из них могут отклонить, и, конечно, он хочет, чтобы независимо от того, какие задачи его начальство отвергнет, сложность олимпиады из оставшихся задач была не меньше $$$x$$$. Конечно, Гриша является еще и лентяем, поэтому не хочет перетруждаться и планирует придумать $$$n$$$ задач с минимальной суммарной сложностью. К сожалению, сейчас он занят учебой и не может расчитать минимальную суммарную сложность этих задач. Помогите Грише, ведь до олимпиады осталось не так много времени.
В первой строке заданы три целых числа $$$n$$$, $$$k$$$ и $$$x$$$ ($$$2 \le n \le 10^9$$$, $$$1 \le k \lt n$$$, $$$1 \le x \le 10^9$$$) — количество задач, которое хочет придумать Гриша, максимальное количество задач, которое может отвергнуть его начальство и минимальная допустимая сложность контеста по мнению Гриши.
Выведите одно целое число — минимальную суммарную сложность придуманных Гришей задач.
3 1 5
8
3 2 1
3
В первом тесте из условия Гриша должен придумать три задачи, при этом начальство может отклонить одну из них, а сложность олимпиады должна быть не меньше 5. В таком случае Гриша может придумать две задачи сложности 3 и одну задачу сложности 2. Тогда, какую бы задачу ни отвегнуло начальство, сложность контеста будет равна 5 или 6, а суммарная сложность всех задач, придуманных Гришей, будет равна 8.
Во втором тесте из условия Гриша может придумать все три требуемые задачи со сложностью 1 и, какие бы две жюри ни выкинуло, оставшийся контест будет иметь сложность не менее 1. В таком случае суммарная сложность задач, придуманных Гришей будет равна 3.
Тесты к этой задаче состоят из пяти подзадач. Баллы за каждую подзадачу ставятся только при прохождении всех тестов подзадачи и всех тестов необходимых подзадач.

Алиса и Боб хотят пройти через турникет в метро. У них есть полоска, на которой в ряд написаны n строчных букв латинского алфавита. Для того, чтобы пройти через турникет, каждый должен приложить к нему бумажку с кодовым словом. Турникет сканирует слово, записанное на бумажке и открывается, позволяя пройти одному человеку. Чтобы запретить человеку ездить по одному билету несколько раз, турникет не откроется если приложить к нему бумажку со словом, которое турникет сканировал до этого.
Алиса и Боб пришли в метро к открытию, поэтому через турникет еще никто не проходил, и он пропустит человека с любым текстом на билете. Детям разрешено вырезать ровно по одному непустому билету из полоски, причем билеты должны состоять из подряд идущих букв полоски и не должны пересекаться. Также, чтобы никто из детей не считал себя обделeнным, билеты, которые они вырежут, должны быть одинаковой длины. После вырезания билетов Алиса, а затем Боб попробуют пройти через турникет. Таким образом, Алиса сможет войти в метро всегда, а Боб сможет войти только если текст на его билете не совпадает с текстом на билете Алисы.
Так как дети маленькие, нужно помочь им определить, можно ли вырезать два различных билета одинаковой длины из полоски, чтобы попасть в метро, и, если это возможно, объяснить им, как это сделать.
В первой строке задано одно целое число n (1 ≤ n ≤ 106) — количество букв, написанных на полоске.
Во второй строке содержится строка, состоящая из n строчных букв латинского алфавита — текст на полоске.
Если невозможно вырезать из полоски два различных слова одинаковой длины выведите «No» (без кавычек).
Иначе в первой строке выведите «Yes» (без кавычек), а во второй строке выведите три целых числа — номер символа на полоске, с которого начнется билет Алисы, номер символа на полоске, с которого начнется билет Боба и длину билетов, которые вырежут дети. Каждый символ полоски должен попасть не более, чем в один билет, а также тексты на билетах должны быть различны. Символы на полоске нумеруются слева направо, начиная с 1.
Обратите внимание, что после вырезания билета из полоски, его нельзя переворачивать. Так, например, если вырезать билет po из полоски rpo, то получить билет od, перевернув билет po сверху вниз, не получится.
8
abacabad
Yes
2 6 3
1
z
No
В первом примере Алиса вырежет билет, начинающийся со второго символа полоски и имеющий длину 3. Таким образом, на ее билете будет написано bac. Боб вырежет билет, начинающийся с шестого символа полоски и имеющий длину 3, поэтому на билете Боба будет написано bad.
Во втором примере полоска состоит только из одного символа, поэтому Алиса и Боб не смогут вырезать из нее два непустых слова так, чтобы ни один символ не попал в оба билета.
Тесты к этой задаче состоят из пяти групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп.

Пафнутий решил использовать метро, чтобы достичь своей цели.
Чтобы пройти через турникет, надо использовать специальную карточку SLON (Subterranean Lowcost Orientational Network). У каждой карточки есть неотрицательный целый баланс — количество бурлей, которые записаны на карточке. Если на карточке есть хотя бы $$$k$$$ бурлей, то пройти через турникет возможно, после чего баланс карточки уменьшается на $$$k$$$ бурлей. Если же на карточке меньше $$$k$$$ бурлей, то Пафнутий не сможет ей воспользоваться, чтобы пройти через турникет.
Изначально у Пафнутия есть $$$n$$$ карточек, баланс карточки с номером $$$i$$$ составляет $$$a_i$$$ бурлей. Также Пафнутий накопил $$$p$$$ бурлей и может как угодно распределить эти деньги между карточками. Формально, пусть Пафнутий к балансу карточки с номером $$$i$$$ добавил $$$add_i \ge 0$$$ бурлей, тогда должно выполняться условие $$$add_1 + add_2 + \ldots + add_n \le p$$$. Возможности перераспределять деньги между карточками нет, то есть баланс карточки может увеличиваться только за счет какой-то части из этих $$$p$$$ бурлей и уменьшаться только при проходе через турникет.
Пафнутий не очень любит математику. Помогите ему определить, какое максимальное количество раз он сможет поехать на метро, если распределит $$$p$$$ бурлей по карточкам оптимально.
В первой строке заданы три целых числа $$$n$$$, $$$p$$$ и $$$k$$$ ($$$1 \leq n \leq 10^5$$$, $$$0 \leq p \leq 10^{18}$$$, $$$1 \leq k \leq 10^9$$$) — количество карточек, накопленная сумма и плата за один проход через турникет, соответственно.
Во второй строке задано $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \leq a_i \leq 10^9$$$) — балансы карточек.
Выведите одно целое число — максимальное количество раз, которое Пафнутий сможет поехать на метро.
5 1 4
7 7 3 4 1
4
2 1000 2000
1299 1701
2
В первом примере из условия изначально можно поехать только 3 раза. Но если добавить 1 бурль на первую, вторую или третью карточку, то Пафнутий сможет поехать на метро 4 раза.
Во втором примере 1000 бурлей хватит только для того, чтобы сделать баланс обеих карточек равным 2000 бурлям.
Тесты к этой задаче состоят из пяти подзадач. Баллы за каждую подзадачу ставятся только при прохождении всех тестов подзадачи и всех тестов необходимых подзадач.

Диме не дарили массив $$$a$$$, состоящий из $$$n$$$ целых чисел на день рождения, он не покупал его, не находил на улице, а он у него просто есть и всегда был, и Диме не очень-то и интересно откуда.
Дима не играет с массивом, не дарит его Пете, не режет на кусочки и не стремится его уничтожить. Дима просто выполняет операции двух видов со своим массивом:
MEX мультимножества чисел $$$\{a_1, a_2, \ldots, a_k\}$$$ — это минимальное целое $$$t \ge 0$$$ такое, что $$$t \ne a_i$$$ для всех $$$1 \leq i \leq k$$$.
На самом деле, Диме не очень нравится выполнять операции двух видов со своим массивом. Диму волнуют лишь результаты операций первого типа. Помогите Диме и напишите программу, которая выполнит операции за него.
Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ ($$$1 \leq n \leq 500\,000, 1 \leq q \leq 250\,000$$$) — размер массива, который есть у Димы и количество операций, соответственно.
Вторая строка содержит $$$n$$$ целых чисел $$$a_i$$$ ($$$0 \leq a_i \leq n$$$) — массив Димы до начала операций.
Каждая из следующих $$$q$$$ строк содержит описание одной операции в формате, описанном выше.
Гарантируется, что суммарно Дима сделал не более $$$50\,000$$$ операций изменения массива.
Элементы массива пронумерованы, начиная с $$$1$$$.
Для каждой операцияя первого типа выведите одно целое число — MEX соответствующего мультимножества. Ответы на запросы выводите в порядке, в котором они заданы во входных данных.
6 8
4 1 0 2 2 3
? 1 6
? 4 6
? 2 5
? 2 6
! 3 3
? 1 6
! 4 0
? 1 6
5
0
3
4
0
5
В примере запросы выглядят следующим образом:
Тесты к этой задаче состоят из тринадцати подзадач. Баллы за каждую подзадачу ставятся только при прохождении всех тестов подзадачи и всех тестов необходимых подзадач.

Филателист Петя отправился в магазин, чтобы приобрести его заветную мечту — настоящую медную монету XVII века. В магазине продавец показал Пете $$$n$$$ монет XVII века, имеющихся в наличии, каждая из которых сделана из одного из трех материалов: железа, меди или бронзы. К сожалению, время не пощадило монеты, поэтому они покрылись ржавчиной, и невозможно определить, какая монета из какого материала сделана. Чтобы Пете было проще найти нужную монету, продавец показал ему $$$m$$$ пар монет таких, что монеты из пары сделаны из различных материалов. Кроме того, продавец сказал Пете, что ровно одна из $$$n$$$ монет сделана из меди. Чтобы заполучить заветную монету, Петя решил приобрести все монеты, которые могут быть медными, исходя из информации, полученной им от продавца.
Более формально, Петя купит монету с номером $$$p$$$ если и только если могло оказаться так, что все монеты с номерами, отличиными от $$$p$$$ сделаны из железа и бронзы, а монета с номером $$$p$$$ сделана из меди и при этом в каждой из $$$m$$$ пар номеров монет, озвученных продавцом, монеты с соответствующими номерами сделаны из разных материалов.
Определите, какие монеты купит Петя.
В первой строке заданы два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n \leq 3 \cdot 10^6, 0 \leq m \leq 3 \cdot 10^6$$$) — количество монет XVII века в магазине и количество пар монет, про которые продавец сказал Пете, что они сделаны из разных материалов.
В следующих $$$m$$$ строках заданы пары целых чисел $$$a_i$$$ и $$$b_i$$$ ($$$1 \leq a_i, b_i \leq n, a_i \neq b_i$$$) — номера монет, которые сделаны из различных материалов. Все пары монет во вводе различны.
Если продавец ошибся и ни одна монета не может быть медной, выведите «0» (без кавычек). Иначе в первой строке выведите одно целое число $$$x$$$ — количество монет, которые купит Петя.
Во второй строке выведите $$$x$$$ целых чисел $$$c_i$$$ ($$$1 \leq c_i \leq n$$$) в порядке возрастания — номера монет, которые купит Петя.
4 3
1 2
1 4
4 2
3
1 2 4
2 1
1 2
2
1 2
6 6
1 2
4 5
2 3
5 6
1 3
4 6
0
12 14
1 2
3 2
3 4
5 4
5 6
6 7
3 8
8 9
9 6
2 10
10 12
12 11
11 7
1 7
4
2 3 6 7
В первом примере:
Во втором примере любая монета может быть медной, в случае, если, например, другая монета сделана из железа.
В третьем примере продавец ошибся и ни одна монета не может быть медной.
Тесты к этой задаче состоят из пяти групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп.

Во Флатляндии проводится ежегодный турнир по танцам!
Из города NN приехала команда, состоящая из n танцоров, и вот настал день соревнований.
Состязания проходят в таком формате: танцоры пронумерованы от 1 до n, и изначально i-й танцор стоит на i-м месте. После этого они начинают танцевать по заранее согласованной программе выступления a: каждую минуту танцор с ai-го места передвигается на i-е место, при этом все ai различны. От команды требуется выстроиться так, чтобы i-й танцор оказался на bi-м месте (аналогично, все bi различны). После этого выступление завершается, и жюри оценивает его техничность и артистизм. При этом выступление должно продлиться хотя бы одну минуту, иначе оценивать будет просто нечего.
Но в этом году участники заподозрили жюри в подлоге: к ним пришла мысль, что, возможно, следуя программе a, они никогда не смогут занять требуемое положение b, что приводит к автоматическому поражению в турнире.
Так как они не программисты по образованию, команда города NN решила обратиться к вам за помощью: проверьте по их программе выступления a и требуемому положению b, существует ли такое положительное количество минут k, что через k минут после начала выступления i-й танцор будет находиться на bi-м месте.
В первой строке входного файла содержится целое число n (1 ≤ n ≤ 106) — количество участников команды, приехавшей из города NN.
Вторая строка содержит n целых чисел a1, ..., an (1 ≤ ai ≤ n) — программу выступления a. Гарантируется, что каждое число от 1 до n встречается в a ровно один раз.
Третья строка содержит n целых чисел b1, ..., bn (1 ≤ bi ≤ n) — требуемое положение b. Гарантируется, что каждое число от 1 до n встречается в b ровно один раз.
Для каждого тестового примера выведите «Yes» (без кавычек), если существует такое количество минут k, что спустя k минут после начала выступления все танцоры будут в требуемом от них положении, или «No» (без кавычек), если такого k не существует.
4
2 3 4 1
1 2 3 4
Yes
4
1 2 3 4
2 1 4 3
No
В первом примере в нулевой момент времени танцоры располагаются так: 1 2 3 4. Но так как выступление должно продлиться хотя бы одну минуту, k = 0 не подходит. Далее происходят следующие перемещения:
Во втором примере танцоры всегда остаются на своем месте, следственно, они никогда не займут требуемое положение, и ответ — «No».
Тесты к этой задаче состоят из четырех групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп.

Дана перестановка $$$a$$$ чисел от $$$1$$$ до $$$n$$$, а также набор из $$$m$$$ пар индексов. За один ход разрешается выбрать одну из этих $$$m$$$ пар и поменять элементы на соответствующих позициях местами (перестановка, соответственно, изменится). Вы можете сделать произвольное количество ходов (в частности, разрешается не делать ни одного хода).
Определим возрастающую подпоследовательность длины $$$k$$$ как набор индексов $$$j_1, j_2, \ldots, j_k$$$, для которых выполняются два условия:
Какой максимально возможной длины наибольшей возрастающей подпоследовательности можно достичь при правильных обменах элементов?
В первой строке заданы два числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 10^4, 0 \le m \le \min(10^5, \frac{n \cdot (n - 1)}{2}$$$) — длина перестановки и количество пар позиций, которые можно обменивать между собой.
В следующей строке через пробел заданы $$$n$$$ различных целых чисел $$$a_i$$$ ($$$1 \le a_i \le n$$$) — элементы перестановки.
Каждая из следующих $$$m$$$ строк содержит по два числа $$$u_i$$$ и $$$v_i$$$ ($$$1 \le u_i, v_i \le n, u_i \neq v_i$$$) — индексы позиций, элементы на которых можно менять. Гарантируется, что ни одна пара не встречается дважды.
Выведите одно целое число — максимально возможную длину наибольшей возрастающей подпоследовательности перестановки после обменов.
6 2
5 2 4 6 3 1
5 6
1 5
4
4 2
2 1 4 3
1 3
2 4
3
Рассмотрим перестановку из первого примера.
$$$[5, 2, 4, 6, 3, 1]$$$
Поменяем местами элементы на позициях $$$5$$$ и $$$6$$$.
$$$[5, 2, 4, 6, \textbf{1}, \textbf{3}]$$$.
Теперь поменяем местами элементы на позициях $$$1$$$ и $$$5$$$.
$$$[\textbf{1}, 2, 4, 6, \textbf{5}, 3]$$$.
Длина наибольшей возрастающей подпоследовательности в такой перестановке равняется $$$4$$$.
Соответствующая подпоследовательность: $$$[\textbf{1}, \textbf{2}, \textbf{4}, 6, \textbf{5}, 3]$$$.
Тесты к этой задаче состоят из шести подзадач. Баллы за каждую подзадачу ставятся только при прохождении всех тестов подзадачи и всех тестов необходимых подзадач.

Назовём красотой числа произведение цифр в нем. Например, красота числа 123 равняется 6, так как 1·2·3 = 6, а красота числа 209 равна 0, так как 2·0·9 = 0. По заданным числам l и r найдите максимально красивое число x такое, что l ≤ x ≤ r.
В первой строке задано целое число l (1 ≤ l < 10105).
Во второй строке задано целое число r (l ≤ r < 10105).
Выведите одно целое число x (l ≤ x ≤ r) с максимальной красотой. Ведущие нули не выводите. Если чисел с максимальной красотой, удовлетворяющих ограничениям, несколько, выведите любое.
1
30
29
30
30
30
В данной задаче 100 тестов, помимо тестов из условия, каждый из них оценивается в 1 балл. Во время соревнования доступен результат тестирования ваших решений только на тесте из условия. Результат тестирования на остальных тестах будет доступен после окончания соревнования.
Решения, работающие при 1 ≤ r < 100, будут набирать не менее 10 баллов.
Решения, работающие при 1 ≤ r < 106, будут набирать не менее 20 баллов.
Решения, работающие при 1 ≤ r < 1018, будут набирать не менее 40 баллов.
Решения, работающие при 1 ≤ r < 101000, будут набирать не менее 70 баллов.
Вам дана строка $$$s_1 s_2 \ldots s_n$$$, состоящая из $$$n$$$ маленьких английских букв. Жюри загадало перестановку $$$p_1, p_2, \ldots, p_n$$$ и получило новую строку $$$t$$$, поставив $$$i$$$-й символ строки $$$s$$$ на $$$p_i$$$-ю позицию в строке $$$t$$$. Вам необходимо найти строку $$$t$$$.
Для этого вы можете один раз задать вопрос, состоящий из $$$k$$$ выбранных вами пар индексов. Для пары индексов $$$(a_i, b_i)$$$ ($$$1 \leq i \leq k$$$, $$$1 \leq a_i \lt b_i \leq n$$$) вы узнаете, верно ли, что $$$p_{a_i} \lt p_{b_i}$$$.
Вы хотите определить искомую строку, спросив про наименьшее количество пар, то есть минимизируя значение числа $$$k$$$, при условии, что проверяющая программа является адаптивной. Это означает, что ответ к каждому тесту может быть различен в зависимости от того, про какие пары индексов вы спрашиваете. Другими словами, ваше решение должно успешно восстанавливать строку $$$t$$$ для любой возможной перестановки $$$p_1, p_2, \ldots, p_n$$$.
Сначала вам необходимо считать непустую строку $$$s$$$, состоящую из маленьких английских букв. Длина строки не превосходит $$$100$$$.
Затем вы должны вывести строку, содержащую единственное целое число $$$k$$$ ($$$0 \leq k \leq 10 ^ 4$$$), а после — $$$k$$$ строк, в $$$i$$$-й из которых будет содержаться два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$1 \leq a_i \lt b_i \leq n$$$) — пара, про которую вы хотите спросить.
После этого, если $$$k \gt 0$$$ (то есть вы спросили про какие-то пары), вы должны считать строку, состоящую из $$$k$$$ символов, $$$i$$$-й символ которой равен «1», если $$$p_{a_i} \lt p_{b_i}$$$, и «0» в противном случае. Если ваша программа задала некорректный запрос, то вместо строки с ответами на запросы может быть задана строка «-1», если проверяющая программа жюри смогла считать и распознать ваш запрос, а затем определить его как некорректный. В случае, если ваш запрос не был распознан проверяющей системой или произошёл другой сбой, например, вы не вывели ничего или вывели слишком много чисел, вердикт проверяющий системы может быть разным.
После получения ответов на все запросы, вам необходимо вывести ответ — строку $$$t$$$. После вывода ответа ваша программа должна завершиться.
Обратите внимание, после вывода ответа или в случае считывания строки «-1» вы обязательно должны сразу завершить вашу программу. В противном случае вердикт тестирующей системы может быть некорректным, в частности, вы можете получить вердикт Run-time error или Time limit exceeded!
Не забывайте сбрасывать буфер после каждого запроса. Например, на языке C++ надо использовать функцию fflush(stdout) или вызов cout.flush(), на Java вызов System.out.flush(), на Pascal flush(output) и stdout.flush() для языка Python.
ab
1
1
1 2
ab
ab
0
1
1 2
ba
qqq
0
qqq
baa
10
2
1 2
1 3
aba
В первом примере сделан запрос про пару индексов $$$(1, 2)$$$, в ответ получена строка «1», что означает, что $$$p_1 \lt p_2$$$, и, следовательно, загадана перестановка $$$p = $$$«$$$1$$$ $$$2$$$», то есть искомая строка — «ab».
Во втором примере сделан запрос про пару индексов $$$(1, 2)$$$, в ответ получена строка «0», это означает, что $$$p_1 \geq p_2$$$, и, следовательно, загадана перестановка $$$p = $$$«$$$2$$$ $$$1$$$», то есть искомая строка — «ba».
В третьем примере не спрашивается ни про какие пары индексов, а сразу выводится ответ — строка «qqq».
В четвертом примере была загадана перестановка «$$$2$$$ $$$3$$$ $$$1$$$».
Тесты к этой задаче состоят из четырёх подзадач. Баллы за каждую подзадачу ставятся только при прохождении всех тестов подзадачи и всех тестов необходимых подзадач.

Опытным участникам соревнований по спортивному программированию хорошо известна классическая задача о нахождении количества вхождений подстроки в строку. Обычно она формулируется так: дана строка-образец $$$s$$$ и строка $$$t$$$, требуется найти количество индексов, начиная с которых строка $$$s$$$ содержится в строке $$$t$$$.
К сожалению, для решения этой задачи уже придумано множество алгоритмов, поэтому сама по себе она может быть интересна только в качестве упражнения, но не олимпиадной задачи. Однако, как это часто бывает со стандартными задачами, её легко усложнить — представим, что нас интересуют не сами строки $$$s$$$ и $$$t$$$, а некоторые их подстроки $$$s[l_1 \ldots r_1]$$$ и $$$t[l_2 \ldots r_2]$$$.
Как вы уже, наверное, догадались, вам дано $$$q$$$ запросов, $$$i$$$-й из которых задаёт некоторые подстроки $$$\bar s = s[{l_1}_i \ldots {r_1}_i]$$$ и $$$\bar t = t[{l_2}_i \ldots {r_2}_i]$$$. Для каждого такого запроса необходимо посчитать количество вхождений строки $$$\bar s$$$ в строку $$$\bar t$$$.
Первая и вторая строки входных данных содержат строки $$$s$$$ и $$$t$$$ ($$$1 \le |s|, |t| \le 2 \cdot 10^5$$$) соответственно. Строки состоят из маленьких букв английского алфавита.
В третьей строке задано одно число $$$q$$$ ($$$1 \le q \le 5 \cdot 10^5$$$) — количество запросов.
Каждая из следующих $$$q$$$ строк содержит по четыре числа $$$l_1$$$, $$$r_1$$$, $$$l_2$$$ и $$$r_2$$$ ($$$1 \le l_1 \le r_1 \le |s|, 1 \le l_2 \le r_2 \le |t|$$$), описывающих очередной запрос.
Выведите $$$q$$$ чисел — ответы на запросы.
abb
ababababb
5
1 2 1 7
2 3 2 9
3 3 4 7
1 2 2 4
1 1 1 9
3
1
2
1
4
Рассмотрим запросы в первом примере. Для индексации позиций вхождения будем использовать изначальные позиции в строке $$$t$$$.
Тесты к этой задаче состоят из четырех подзадач. Баллы за каждую подзадачу ставятся только при прохождении всех тестов подзадачи и всех тестов необходимых подзадач.
