已知一个数列,需要进行以下3种操作。 (1)将某区间每一个数乘上 x。 (2)将某区间每一个数加上 x。 (3)求出某区间每一个数的和。
第一行包含三个整数 n,m,p(n≤105,m≤105),分别表示该数列数字的个数、操作数和模数。 第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来m行每行包含若干个整数,表示一个操作,具体如下。 操作1:1 x y k表示将区间[x,y] 内每个数乘上k。 操作2:2 x y k表示将区间[x,y] 内每个数加上k。 操作3:3 x y表示输出区间[x,y] 内每个数的和对p 取模所得的结果。
输出包含若干行整数,即为所有操作3的结果。
5 5 38 1 5 4 2 3 2 1 4 1 3 2 5 1 2 4 2 2 3 5 5 3 1 4
17 2