10451: 2D Додавання на підматриці. Значення елемента
Реалізуйте структуру даних, яка зможе ефективно опрацьовувати такі запити:
1) додати на підматриці всім елементам число \(val\)
2) знайти значення елемента в матриці
Формат вхідних даних
В першому рядку два числа \(N,M\) - розміри матриці (\(1 \le N,M \le 1000\))
В наступних \(N\) рядках міститься по \(M\) чисел \(Ai,j\) - елементи матриці (\(-100 \le Ai,j \le 100\))
В наступному рядку міститься число \(Q\) кількість запитів (\(1 \le Q \le 10^5\))
Кожен з наступних \(Q\) рядків містить оппис запиту, який починається або з літери a, або з літери v
За літерою v вводиться два числа \(R,C\) - номер рядка і стовпчика елемента який необдхідно вивести.
За літерою a вводиться 5 чисел \(R1,C1\) - рядок і стовпчик лівого верхнього кута, \(R2,C2\) - рядок і стовпчик правого нижнього кута підматриці , \(VAL\) - значення яке треба додати до всіх елементів підматриці (\(-100 \le VAL \le 100\))
Формат вихідних даних
Для кожного запиту типу v виведіть результат в окремому рядку.
Приклад вхідних даних
3 5
1 0 2 3 1
0 3 1 4 0
1 1 1 1 1
7
a 1 2 1 3 10
a 2 2 3 5 -5
v 1 3
a 3 2 3 3 10
a 1 3 3 4 5
v 3 3
v 3 4
Приклад вихідних даних
12
11
1
Коментарі