Задача №114154. Домашнее задание
Спустя тридцать сезонов Мэгги Симпсон наконец поступила в первый класс. В целях тренировки чистописания учительница задала детям выписать в строку N цифр от ' 0 ' до ' 9 ' в некотором порядке.
После нескольких часов страданий Мэгги всё-таки справилась с домашним заданием и убежала играть с друзьями, оставив свою работу лежащей на письменном столе. В это время в комнату зашла Лиза Симпсон. Игра на саксофоне уже успела её порядком утомить, и она находилась в поисках какого-нибудь нового увлекательного занятия, когда её взгляд остановился на исписанной тетрадке Мэгги.
Лиза быстро справилась с тем, чтобы посчитать сумму всех написанных Мэгги цифр, но тут в комнату ворвался Барт и предложил ей задачу поинтереснее — произвести M операций с данной строкой цифр. Фантазия Барта довольно скудна, поэтому операции бывают только двух типов. Пусть позиции в строке занумерованы числами от 1 до N слева направо. Тогда операции имеют следующий вид:
- Барт называет два числа l i и r i , а также цифру c i , после чего Лиза должна заменить все цифры на позициях с l i -й по r i -ю включительно на цифру c i .
- Барт называет два числа l i и r i , после чего Лиза должна посчитать сумму всех чисел, десятичные записи которых встречаются как подстроки отрезка исходной строки с l i -й по r i -ю позицию включительно. При этом каждое число должно быть просуммировано с учётом кратности , то есть столько раз, сколько его запись встречается на отрезке с l i -й по r i -ю. Также требуется учитывать только корректные десятичные записи чисел, то есть подстроки, начинающиеся на ' 0 ', не должны входить в сумму.
Барт сегодня добрый, поэтому на операцию второго типа он просит от Лизы только остаток от деления ответа на 10 9 + 7 .
Желая доказать своё превосходство над братом, Лиза немедленно согласилась. Поскольку Барт сам не знает правильных ответов, он никак не может проверить вычисления Лизы, поэтому ему крайне необходима ваша помощь.
В первой строке ввода записаны через пробел два целых числа N и M — количество цифр, выписанных Мэгги, и количество операций Барта ( 1 ≤ N , M ≤ 100 000 ).
Вторая строка ввода содержит N цифр от 0 до 9 , разделённых пробелами.
Следующие M строк описывают операции.
Запись вида 1 l i r i c i обозначает операцию первого типа ( 1 ≤ l i ≤ r i ≤ N , 0 ≤ c i ≤ 9 ).
Запись вида 2 l i r i обозначает операцию второго типа ( 1 ≤ l i ≤ r i ≤ N ).
На каждую операцию второго типа выведите остаток от деления ответа на 10 9 + 7 .
Если среди операций Барта не присутствует ни одной операции второго типа, ничего выводить не требуется.
На первую операцию второго типа ответ представляет собой следующую сумму: 1 + 12 + 121 + 2 + 21 + 1 = 158 .
На вторую операцию второго типа ответ представляет собой следующую сумму: 2 + 20 + 203 + 0 + 3 = 228 . Обратите внимание: в ней присутствует меньше слагаемых, так как строка 03 не представляет собой корректную десятичную запись целого числа.
Тесты к этой задаче состоят из пяти групп. Баллы за каждую группу тестов ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп .

4 3 1 2 1 3 2 1 3 1 3 3 0 2 2 4
158 228
9 3 1 1 1 1 1 1 1 1 1 2 1 9 1 1 9 9 2 1 9
137174205 234567838