1859. 数干草包

农夫约翰正试图雇用承包人来帮助重新安排他的农场。

但是,当他们看到约翰希望他们遵循的复杂指令序列时,所有人都辞职不干了。

任由他自己完成该项目时,他终于意识到,他使这个项目变得比必要的更复杂了。

请帮助他按照他的指示完成农场升级。

约翰的农场由一排 $N$ 块土地构成,编号 $1 \sim N$。

每块土地中可以有任意数量的干草包。

约翰的指令包含以下三种:

  1. P A B C,为编号范围 $[A,B]$ 之间的每块土地增加 $C$ 个干草包。
  2. M A B,求出编号范围 $[A,B]$ 之间的所有土地中,包含干草包数量最小的土地所含的干草包数量。
  3. S A B,求出编号范围 $[A,B]$ 之间的所有土地包含的干草包的总数量。

输入格式

第一行包含两个整数 $N$ 和 $Q$。

第二行包含 $N$ 个整数,表示每块土地的初始干草包数量。

接下来 $Q$ 行,每行包含一个指令,为 P A B CM A BS A B 中的一种,意义见题目描述。

输出格式

对于每个 $M$ 指令和 $S$ 指令,输出一个结果。

每个结果占一行。

数据范围

$1 \le N \le 2 \times 10^5$,
$1 \le Q \le 10^5$,
每块土地的初始干草包数量范围 $[0,10^5]$,
$1 \le A \le B \le N$,
$1 \le C \le 10^5$

输入样例:

4 5
3 1 2 4
M 3 4
S 1 3
P 2 3 1
M 3 4
S 1 3

输出样例:

2
6
3
8