第一行两个整数 $N$ 和 $P(1≤P≤1000000000)$。
第二行含有 $N$ 个非负整数,从左到右依次为 $a_1,a_2,…,a_N$, $(0≤ai≤1000000000,1≤i≤N)$。
第三行有一个整数 $M$,表示操作总数。
从第四行开始每行描述一个操作,输入的操作有以下三种形式:
- 操作 1:“
1 t g c”(不含双引号)。表示把所有满足 $t≤i≤g$ 的 $a_i$ 改为 $a_i×c$ $(1≤t≤g≤N,0≤c≤1000000000)$。 - 操作 2:“
2 t g c”(不含双引号)。表示把所有满足 $t≤i≤g$ 的 $a_i$ 改为 $a_i+c$ $(1≤t≤g≤N,0≤c≤1000000000)$。 - 操作 3:“
3 t g”(不含双引号)。询问所有满足 $t≤i≤g$ 的 $a_i$ 的和模 $P$ 的值 $(1≤t≤g≤N)$。同一行相邻两数之间用一个空格隔开,每行开头和末尾没有多余空格。