1969: 加and乘

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:110 解决:36

题目描述

有长度为N的数列a1,a2,…,aN,需处理以下三种操作:

    操作 1:1 t g c,将满足t≤i≤g的ai更新为ai×c;

    操作 2:2 t g c,将满足t≤i≤g的ai更新为ai+c;

    操作 3:3 t g,查询满足t≤i≤g的ai的和,结果对P取模。

输入

第一行两个整数N和P;

第二行含有N个非负整数,从左到右依次为a1,a2,…,aN

第三行一个整数M,表示操作总数;

从第四行开始每行描述一个操作,格式为1 t g c2 t g c3 t g

输出

对每个操作 3,按照它在输入中出现的顺序,依次输出一行一个整数表示询问结果(和模P的值)。

样例输入 复制

7 43
1 2 3 4 5 6 7
5
1 2 5 5
3 2 4
2 3 7 9
3 1 3
3 4 7

样例输出 复制

2
35
8

提示

1≤N,M≤105

1≤t≤g≤N

0≤c,ai≤109

1≤P≤109

来源/分类