[COCI2009-2010#1] ALADIN
题目描述
给你 $n$ 个盒子,有 $q$ 个操作,操作有两种:
- 第一种操作输入格式为 `1 L R A B`,表示将编号为 $L$ 到 $R$ 的盒子里的石头数量变为 $(X-L+1) \times A \bmod B$,其中 $X$ 为盒子的编号。
- 第二种操作输入格式为 `2 L R`,表示查询编号为 $L$ 到 $R$ 的盒子里的石头总数。
输入输出格式
输入格式
第一行有两个数字 $n$($1 \leq n \leq 10^9$),$q$ ($1 \leq q \leq 5 \times 10^4$)。
接下来 $q$ 行表示询问操作。
输出格式
对于每个第二种操作,输出石头总数。
输入输出样例
输入样例 #1
6 3
2 1 6
1 1 5 1 2
2 1 6
输出样例 #1
0
3
输入样例 #2
4 5
1 1 4 3 4
2 1 1
2 2 2
2 3 3
2 4 4
输出样例 #2
3
2
1
0
输入样例 #3
4 4
1 1 4 7 9
2 1 4
1 1 4 1 1
2 1 4
输出样例 #3
16
0
说明
- 对于 $30\%$ 的数据,$n, q \leq 10^3$;
- 对于 $70\%$ 的数据,$q \leq 10^3$。