Діма та машина часу
Мама подарувала хлопчику Дімі машину часу. Нажаль, ця машина працює лише з вмонтованим у неї масивом довжины n. Вона може відновити масив до стану на довільний момент часу. Масив у машині також не простий, а особливий. Діма може вибрати два числа — i та d (1 ≤ i ≤ j ≤ n, -1000 ≤ d ≤ 1000), і до елементу масиву з індексом i магічно додасться d. Діма бавиться зі своїм масивом, а мама час від часу задає йому питання — яка сума усіх чисел у масиві з індексами від f до t? Діма легко впорався з цими запитаннями, а чи зможете ви?
Вхідні дані
У першому рядку знаходяться два цілих числа n та q (1 ≤ n, q ≤ 10^5) — кількість елементів у масиві та сумарна кількість операцій та запитів відповідно. У наступному рядку задано n чисел a_1, a_2, ..., a_n (−1000 ≤ a_i ≤ 1000) — початковий стан масиву. У наступних q рядках задано операції та запити. Перший символ у рядку може бути t, + або ?. Якщо рядок починається з t, то це опис операції з машиною часу. Тоді у рядку міститься ще одне число i (1 ≤ i) — номер операції чи запиту, до стану перед виконанням якої повертається масив. i завжди не більше номера поточної операції. Якщо рядок починається з +, то це операція додавання. Далі йдуть i та d, обмеження на які описано в умові. Якщо рядок починається з ?, то це запит. Далі йдуть числа f та t (1 ≤ f, t ≤ n).
Вихідні дані
Для каждого запроса выведите сумму чисел в массиве с индексами от f до t, по одному результату в строке.