Скалярное произведение
Простая
Ограничение по времени выполнения 2 секунды
Ограничение по использованию памяти 256 мегабайт
Заданы два массива A и B одинаковой длины. Необходимо обработать три вида запросов.
* l r x: добавить число x ко всем
A[i]
, где l ≤ i ≤ r.. l r x: добавить число x ко всем
B[i]
, где l ≤ i ≤ r.? l r: вычислить сумму
A[l]
·B[l]
+ ... +A[r]
·B[r]
.
Массивы индексируются с 1. Изначально оба массива заполнены нулями.
Входные данные
Первая строка содержит два числа n и m (1 ≤ n, m ≤ 100000) - длины массивов и количество запросов. Следующие m строк содержат запросы в описанном выше формате. В каждом запросе 1 ≤ l ≤ r ≤ n и 1 ≤ x < 10^9
+ 7.
Выходные данные
Для каждого запроса третьего типа вывести в отдельной строке ответ по модулю 10^9
+ 7.
Примеры
Ввод #1
Ответ #1
Отправки 201
Коэффициент принятия 22 %