600105 - 区间操作初步

Time Limit

200 毫秒

Memory Limit

128 MB

通过次数

7

提交次数

19

有一个元素个数为n的环形数组,现进行两种操作:

l r v:表示将[l,r]区间内每个值增加v

l r:表示查询[l,r]区间内数组的最小值。

环形即指,当n=5,l=3,r=1时,其操作下标为:3,4,0,1

Input

第一行,一个整数n,表示数组元素个数。

第二行,n个数字a_i,依次表示数组中的元素。

第三行,一个整数m,表示操作次数。

接下来m行,每行为一个操作。若存在2个由单个空格分隔的数字l,r则表示一次查询;若存在3个由单个空格分隔的数字l,r,v则表示一次修改。

对于100%的数据:

1\le n \le 1000

1\le m \le 10000

0\le l,r \le n-1

-10^9 \le a_i,v \le 10^5

Output

按输入顺序,每行l,r,v输出一行查询结果。

Examples

Input

4
1 2 3 4
4
3 0
3 0 -1
0 1
2 1

Output

1
0
0