#SDNU1454. 操作格子

操作格子

Description

nn个格子,从左到右放成一排,编号为1n1-n。 共有mm次操作,有33种操作类型:
1.1.修改一个格子的权值
2.2.求连续一段格子权值和
3.3.求连续一段格子的最大值。 对于每个232、3操作输出你所求出的结果。

Format

Input

第一行22个整数nmn,m。
接下来一行nn个整数表示nn个格子的初始权值。 接下来mm行,每行33个整数p,x,yp,x,y, pp表示操作类型 p=1p=1时表示修改格子xx的权值为yy
p=2p=2时表示求区间[x,y][x,y]内格子权值和
p=3p=3时表示求区间[x,y][x,y]内格子最大的权值
(对于2020%的数据n<=100m<=200n < = 100,m < = 200。
对于5050%的数据n<=5000m<=5000n < = 5000,m < = 5000。
对于100100%的数据$1 < = n < = 100000,m < = 100000,0 < = 格子权值 < = 10000。)$

Output

有若干行,行数等于p=2p=233的操作总数。 每行11个整数,对应了每个p=2p=233操作的结果。

Samples

4 3
1 2 3 4
2 1 3
1 4 3
3 1 4 
6
3