Дан массив, состоящий из n целых чисел: a1, a2, ..., an. Вам необходимо быстро выполнять запросы двух типов:
- Присвоить всем элементам от l до r включительно значение x. После такого запроса значения элементов массива al, al + 1, ..., ar становятся равны x.
- Посчитать и вывести сумму
, где k не превосходит 5. Так как значение суммы может оказаться достаточно большим, нужно выводить остаток от его деления на 1000000007 (109 + 7).
Выходные данные
В ответ на каждый запрос на подсчет суммы выведите одно целое число — требуемую сумму по модулю 1000000007 (109 + 7).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 5 5 10 2 1 ? 1 2 1 = 2 2 0 ? 2 4 3 = 1 4 1 ? 1 4 5
|
25
43
1300
|
|
2
|
3 1 1000000000 1000000000 1000000000 ? 1 3 0
|
999999986
|