Codeforces Round 163 (Div. 2) |
---|
Закончено |
Дан массив, состоящий из n целых чисел: a1, a2, ..., an. Вам необходимо быстро выполнять запросы двух типов:
В первой строке записано два целых числа n и m (1 ≤ n, m ≤ 105) — количество чисел в массиве и количество запросов соответственно. Во второй строке записано n целых чисел: a1, a2, ..., an (0 ≤ ai ≤ 109) — начальные значения элементов массива.
Далее следует m запросов, по одному в каждой строке:
Все числа во входных данных целые.
В ответ на каждый запрос на подсчет суммы выведите одно целое число — требуемую сумму по модулю 1000000007 (109 + 7).
4 5
5 10 2 1
? 1 2 1
= 2 2 0
? 2 4 3
= 1 4 1
? 1 4 5
25
43
1300
3 1
1000000000 1000000000 1000000000
? 1 3 0
999999986
Название |
---|