题目描述
上周,比尔第一次组装并填充了一个香槟喷泉。当看到香槟从一个酒杯倒入另一个酒杯的景象时,他感到无比欣喜。于是他决定在下一届世界总决赛上打造一个更大型的香槟喷泉。比尔已经订购了 n 个容量各不相同的玻璃碗,准备将它们层层叠放成一个巨大的喷泉装置。但现在他还在纠结如何向这个喷泉中倒入香槟:仅仅一瓶香槟显然不够,而如果只从顶部倒入,可能无法让每个碗都装满。比尔想尝试不同的填充方式,但又实在不忍心浪费任何一滴香槟。

(样例2的解释)
现在轮到你大显身手了!你的任务是编写一个程序,模拟向给定香槟喷泉中倒入香槟的过程。通过这个程序,比尔可以模拟向不同层级倒入特定量的香槟。当某一层的玻璃碗被注满后,多余的香槟会溢出到下一层容量更大的碗中。如果下一层的碗也已注满,溢出的香槟会继续向下流动,直到最终渗入地下,造成浪费。此外,比尔还希望在模拟过程中随时查询某一层当前的香槟量。
输入格式
一行包含两个整数$n$ 和 $q$($1≤n,q≤3×10⁵)$,表示层级数量和查询次数。
一行包含 n 个互不相同的整数 $c$($1≤c≤10⁹$),按从上到下的顺序给出每个层级的容量(单位:升)。
$q$ 行查询,每行第一个符号 $t$($t∈{'+','?'}$)表示查询类型。后续内容根据 $t$ 的不同分为两种格式:
$t='+'$: 后跟两个整数$l$和$x$($1≤l≤n,1≤x≤10⁹$),表示向第$l$层倒入$x$升香槟。
$t='?'$: 后跟一个整数$l$($1≤l≤n$),表示查询第$l$层当前的香槟量。
保证至少有一个类型为$ '?'$ 的查询。
输出格式
对于每个类型为 $'?'$ 的查询,输出对应层级的香槟量(单位:升)。
样例输入 #1
4 4
1 2 3 4
+ 1 6
? 4
+ 1 6
? 4
样例输入 #2
4 8
2 4 3 5
+ 1 4
? 2
+ 2 3
? 4
+ 3 4
? 4
+ 2 10
? 4