Дано \(n\) чисел. Поступають \(q\) запитів двох типів:
Додати число \(x\) на відрізку \([l; r]\).
Дізнатись, яке значення набуває \(a[i]\).
Формат вхідних даних
В першому рядку задано два числа \(n, q\) – \((1 ≤ n ≤ 10^5\) та \(1 ≤ q ≤ 10^5)\) .
В другому рядку дано \(n\) чисел \(a[i]\) \((-10^9 ≤ a[1] ; a[2 ]; ...; a[n] ≤ 10^9)\) .
В наступних \(q\) рядках задано запити.
Перше число \(t\) в кожному рядку вказує на тип запиту.
Якщо \(t = 1\), то після того задано 3 числа \(l; r; x\) : \((1≤ l≤ r≤ n; -10^3 ≤ x ≤ 10^3)\) .
Якщо \(t = 2\), то після того дано 1 число \(i\) : \((1 ≤ i ≤ n)\).
Формат вихідних даних
На кожен запит другого типу виведіть відповідь в окремому рядку.
Приклад вхідних даних
6 7
5 -6 11 2 3 8
2 4
1 2 4 6
2 2
1 1 3 -2
1 2 5 9
2 3
2 4
Приклад вихідних даних
2
0
24
17
Коментарі