来源 : 贵阳一中信息学课程组
描述

有n个整数a1,a2,a3,……,an组成的一个序列。

有m个操作,这些操作分为两种:1.L R x是将(L,R,n)加入表中;2.L R是求aL到aR的和。每执行完一次操作,就读去一遍列表,对于其中的每一组(L,R,x),aL到aR都加上x(这不算操作)。开始时列表为空。

输入

第一行一个整数n,表示序列长度。

第二行n个整数。

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

接下来m行,先输入一个D,D为1或2.

若D为1,读入3个整数L,R,x。

若D为2,读入2个整数L,R。

输出
对于每次操作2 L R,输出一行,一个整数,即aL到aR的和。
样例输入
3
1 2 3
4
1 1 3 1
2 1 1
1 2 3 2
2 2 3
样例输出
2
15
提示

数据范围:

60%的数据,暴力可过。

100%的数据,1≤n,m≤100000,1≤L≤R≤n,1≤ai≤10000,-10000≤x≤10000.