T496408 盟誓的文艺复兴(easy)
题目背景
(别的题都有图了,这题也来一张吧)

世界线变动率:$1.048596$。
$\mathcal {Amadeus}$ 是基于原型的记忆,由维克托康多利亚大学的脑科学研究所开发,能将人的记忆作为数据存储,并在此基础上学习进化的人工智能程序。并且拥有私密的专属记忆存储区域。由于拥有与原型相同的记忆,$\mathcal {Amadeus}$ 还可以使用原型的账号在网上冲浪。
研究员(部分):比屋定真帆,牧濑红莉栖。
题目描述
### 很复杂的题意
$\mathcal {Amadeus}$ 的记忆文件分为 $n$ 个板块,每个板块都有一个正整数 $a_i$ 存着她在 $\beta$ 世界线的记忆。
为了防止 $\mathcal {Amadeus}$ 被军用或其他用途,$\mathcal {Amadeus}$ 红莉栖 决定定期检查自己的记忆是否出现问题,于是有两种检查方式:
- 查询 $Q.3$:$\mathcal {Amadeus}$ 红莉栖 尝试压缩记忆板块($l$ 到 $r$),因此她称满足 $\displaystyle\max_{x\le i \le y}a_i=\displaystyle\max_{l\le j \le r}a_j$ 的记忆板块区间 $[x,y]$ 是「命运石之门」,为了尽快压缩,请你求出在记忆板块区间 $[x,y]$ 内的「命运石之门」的数量。
- 查询 $Q.4$:$\mathcal {Amadeus}$ 红莉栖 在记忆块 $l$ 到 $r$ 中寻找有可能有问题的地方,即求记忆板块区间 $[l,r]$ 中,满足 $x \le a_i \le y$ 的个数。(**本题不需要求**)
$\text{D-RINE}$:以上查询操作输出 一行一个整数。
$\mathcal {Amadeus}$ 红莉栖 的记忆出现问题时,她需要对比备份记忆「日记」进行一定的修改,总共有 $2$ 种修改方式:
- 修改 $U.1$:由于记忆文件被「超级黑客」攻击,记忆中出现了不和谐的曲调,为了消除它,$\mathcal {Amadeus}$ 红莉栖 需要聆听莫扎特 $\text{K.331}$ 第一乐章。这会使得每个 $i$ 满足 $l \le i \le r$ 的大于 $x$ 的 $a_i$ 变成 $x$。
- 修改 $U.2$:$\mathcal {Amadeus}$ 红莉栖 会在 @Ch 学习新的知识,或者化身「栗悟饭和龟波功」与吧友讨论问题。在这之后,每个 $i$ 满足 $l \le i \le r$ 的小于 $x$ 的 $a_i$ 就会变成 $x$。
### 简要题意
给出一段长度为 $n$ 的序列,然后有 $m$ 个操作:
- `1 l r x`:对于每个 $l \le i \le r$ 让 $a_i=\min(a_i,x)$。
- `2 l r x`:对于每个 $l \le i \le r$ 让 $a_i=\max(a_i,x)$。
- `3 l r`:求 $\displaystyle\sum_{x=l}^{r}\displaystyle\sum_{y=x}^{r}\big[\displaystyle\max_{x\le i \le y}a_i=\displaystyle\max_{l\le j \le r}a_j\big]$。
- `4 l r x y`:求区间值在 $[ x , y ]$ 内的个数。(**本题不需要求**)
输入格式
**部分点强制在线**
第一行一个数 $id$,表示这是第 $id$ 个测试点(样例 $id$ 为 $0$)。
第二行一个数 $T$,表示数据组数。
对于每组数据,输入格式如下:
第一行两个正整数 $n,m$。
接下来的一行 $n$ 个数表示第 $i$ 个记忆板块的值 $a_i$。
接下来的 $m$ 行,每行 $3$ 或 $4$ 个数,表示每个操作:
- `1 l r x`:四个整数 $op,l,r,x$,代表修改 $U.1$。
- `2 l r x`:四个整数 $op,l,r,x$,代表修改 $U.2$。
- `3 l r`:三个整数 $op,l,r$,代表查询 $Q.3$。
- `4 l r x y` :五个整数 $op,l,r,x,y$,代表查询 $Q.4$。(不需要)
输出格式
输出共若干行,表示每个查询操作的答案。
说明/提示
### 样例解释
对于样例 $1$:
| 操作 | $a$ | 答案 |
| --------- | ------------- | ---- |
| 无 | $1,1,4,5,1,4$ | 无 |
| `1 2 5 4` | $1,1,4,4,1,4$ | 无 |
| `3 2 6` | ^ | $13$ |
| `3 1 1` | ^ | $1$ |
| `2 1 4 3` | $3,3,4,4,1,4$ | 无 |
| `3 2 3` | ^ | $2$ |
| `3 1 6` | ^ | $17$ |
### 数据范围
| 测试点($id$) | 特殊性质 | $\sum n$ | $\sum m$ |
| :------------: | :---------: | :--------: | :--------: |
| 1~5(10pts) | 无 | $\le 100$ | $\le 100$ |
| 6~8(6pts) | ^ | $\le 10^3$ | $\le 10^3$ |
| 9~10(4pts) | ^ | $\le 10^5$ | ^ |
| 11~14(8pts) | ^ | $\le 10^4$ | $\le 10^4$ |
| 15~19(10pts) | $\text{AB}$ | $\le 10^5$ | $\le 10^5$ |
| 20~22(6pts) | $\text{AC}$ | ^ | ^ |
| 23~25(6pts) | $\text{BC}$ | ^ | ^ |
| 26~28(6pts) | $\text{E1}$ | ^ | ^ |
| 29-32(8pts) | $\text{E2}$ | ^ | ^ |
| 33-40(16pts) | $\text{F}$ | ^ | ^ |
| 41-50(20pts) | 无 | ^ | ^ |
特殊性质 $\text{A}$:没有操作 $1$。
特殊性质 $\text{B}$:没有操作 $2$。
特殊性质 $\text{C}$:有且仅有一个查询操作。
特殊性质 $\text{E1}$:$a_i$ 最多有两种取值;特殊性质 $\text{E2}$:$a_i$ 恰好有三种取值。
特殊性质 $\text{F}$:数据保证随机。
对于 $id$ 为奇数的点,强制在线。
对于 $100\%$ 的数据,保证 $1\le T\le10,1 \le \sum n,\sum m \le 10^5,|a_i|\le10^9$。
每个操作满足:$op \in [1,4) \cap N,1\le l \le r \le n,|x|\le10^9$。
### 强制在线
在每组数据第一个操作前 $k=0$,每有一次查询操作,设本次查询答案为 $p$,则 $k\to p$。
设第 $i$ 个操作输入的 $l,r$ 为 $x,y$。
则本次操作实际的 $l=[(x^2 \oplus k )\times 2333]\bmod n + 1$;
实际的 $r=[(y^2 \oplus k )\times 2024]\bmod n + 1$。
若 $l > r$,则交换 $l,r$。
其中 $\oplus$ 表示按位异或。
### 限制和说明
本题保证有简要题意,若没有,则与出题人无关。
**注意多测,和强制在线输入的处理**。
注意本题时空限制。本题不卡常,时空限制均开到标程的两倍及以上。
请注意输入输出对效率的影响,你可以选择使用快读,这里给出快读的代码供参考。
zbojin 语:时间限制由 $1\text{s}$ 翻 $500\text{million}$ 倍变成 $500\text{ms}$。
```cpp
inline int read() {
int x = 0;
bool f = false;
char ch = getchar();
while(ch > '9' || ch < '0'){
if(ch == '-')
f = true;
ch = getchar();
}
while(ch >= '0' && ch