Məsələlər
Скалярное произведение
Скалярное произведение
Заданы два массива 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. Изначально оба массива заполнены нулями.
Giriş verilənləri
Первая строка содержит два числа n и m (1 ≤ n, m ≤ 100000) - длины массивов и количество запросов. Следующие m строк содержат запросы в описанном выше формате. В каждом запросе 1 ≤ l ≤ r ≤ n и 1 ≤ x < 10^9
+ 7.
Çıxış verilənləri
Для каждого запроса третьего типа вывести в отдельной строке ответ по модулю 10^9
+ 7.
Nümunə
Giriş verilənləri #1
5 4 * 1 4 10 . 2 5 8 ? 1 3 ? 2 5
Çıxış verilənləri #1
160 240