Человек-паук только что вернулся домой после очередного задания. Он ужасно хочет спать, но у него еще есть невыполненная домашняя работа по математике на завтра. Вот, в чем она состоит:
Вам дается строка s_0 --- начальное значение строки s, состоящей из символов 0, 1, 2 и 3. Далее, вам нужно обрабатывать запросы четырех типов:
Символы в строке нумеруются с 0. Смотрите пояснение к примеру для лучшего понимания.
В каждый момент времени вас интересует длина наибольшей неубывающей подпоследовательности строки s. Наибольшей неубывающей подпоследовательность называется максимальное по размеру множество чисел a_1<a_2<⋯<a_m−1<a_m, для которых верно, что s_a_1≤s_a_2≤⋯≤s_a_m−1≤s_a_m.
В первой строке дана непустая строка s_0, состоящая из символов 0\dots3 --- начальное значение строки s (∣s_0∣≤100,000). В следующей строке дано целое число q --- количество запросов (0≤q≤15,000). В следующих q строках дано описание запросов. Если строка начинается с 1, то это запрос первого типа, далее дано целое число p_i и непустая строка w_i, состоящая из символов 0\dots3 (0≤p_i≤∣s∣, 1≤∣w_i∣≤100,000). Если строка начинается с 2, то это запрос второго типа, далее даны два целых числа p_i и l_i (1≤l_i<∣s∣, 0≤p_i≤∣s∣−l_i). Если строка начинается с 3, то это запрос третьего типа, далее даны два целых числа p_i и l_i (1≤l_i<∣s∣, 0≤p_i≤∣s∣−l_i). Если строка начинается с 4, то это запрос четвертого типа, далее даны три целых числа p_i, l_i и k_i (1≤l_i<∣s∣, 0≤p_i≤∣s∣−l_i, 1≤k_i≤1015).
Гарантируется, что в любой момент времени строка s не пуста, и ее длина не превышает 1015. Гарантируется, что сумма длин всех w_i не превышает 100,000.
Выведите q+1 целое число --- длину наибольшей неубывающей подпоследовательности s до всех запросов и после каждого из запросов.
Вот значения s. Выделены символы, образующие одну из возможных наибольших неубывающих подпоследовательностей.
0103020
010300120
000120
002100
002002002100