Аналитик Жора работает в маленькой компании, где он должен выполнять определенные вычисления. Еще десять лет назад ему выдали массив чисел. После этого каждый день он должен был вычислять сумму чисел на отрезке, концы которого задавали ему утром.
Жора изучал программирование в МИСИС, поэтому без труда написал программу, которая автоматически вычисляет требуемую сумму. Благодаря этому у Жоры была возможность весь день пить чай с печеньем и читать классику мировой литературы.
Но в один прекрасный день пришел начальник Жоры и сказал, что появилась необходимость иногда менять имеющийся массив. Начальник пояснил как именно нужно менять массив и ушёл.
Новость очень шокировала Жору, ведь его привычный уклад жизни был под угрозой. Он сразу понял, что нужно переписать свою программу таким образом, чтобы она выполняла еще и изменения массива. Но за десять лет чтения классической литературы Жора подзабыл основы программирования.
Помогите Жоре написать программу, которая будет вычислять запросы и выполнять изменения в массиве.
Будем считать, что массив Жоры состоит из $$$n$$$ целых положительных чисел $$$a_1, a_2, \ldots, a_n$$$. Запросы, которые необходимо выполнять, бывают трех типов:
В первой строке задано целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — количество элементов массива.
Во второй строке через пробел заданы $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^5$$$) — элементы массива.
В третьей строке задано целое число $$$q$$$ ($$$1 \le q \le 10^5$$$) — количество запросов.
В следующих $$$q$$$ строках заданы запросы по одному в строке. Запросы бывают трех видов:
На каждый запрос третьего типа выведите в отдельной строке ответ на этот запрос.
51 2 3 4 5143 1 51 23 1 51 23 1 52 33 1 52 43 1 53 1 13 2 23 3 33 4 43 5 5
15 55 979 979 15 1 2 3 4 5
11231 62 33 1 1
12