CF896E Welcome home, Chtholly

题目描述

> ——我……我活下来了。 > > ——欢迎回家,珂朵莉。 > > ——我履行了我的承诺…… > > ——我做到了……我真的做到了! 在经过几天的战斗后,珂朵莉·诺塔·瑟尼欧里斯奇迹般地从激烈的战斗中归来。 正如承诺的那样,威廉正在为她烤黄油蛋糕。 然而,尽管威廉擅长制作甜点,但他很少烤黄油蛋糕。 这次,威廉犯了一个大错——他不小心弄坏了烤箱! 幸运的是,珂朵莉决定帮助他。 威廉把 $n$ 个蛋糕放在一起,蛋糕编号从 $1$ 到 $n$ ,第 $i$ 个蛋糕需要烘烤 $a _ i$ 秒。 威廉需要珂朵莉做 $m$ 个操作来烘烤这些蛋糕。 操作 1:$1\ l\ r\ x$ 威廉要求珂朵莉检查范围 $[l, r]$ 内的每个蛋糕,如果蛋糕需要烘烤超过 $x$ 秒,他将其烘烤 $x$ 秒,然后再放回原处。更确切地说,对于范围 $[l, r]$ 内的每个 $i$ ,如果 $a _ i$ 严格大于 $x$ ,则 $a _ i$ 变为 $a _ i - x$。 操作 2:$2\ l\ r\ x$ 威廉要求珂朵莉计算范围 $[l, r]$ 内需要恰好烘烤 $x$ 秒的蛋糕数量。更形式化地,你应该找到范围 $[l, r]$ 内有多少个 $i$ 满足 $a _ i = x$。

输入格式

第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 10 ^ 5$)。 第二行包含 $n$ 个整数,第 $i$ 个是 $a _ i$($1 \le a _ i \le 10 ^ 5$)。 接下来的 $m$ 行是上述的 $m$ 个操作。保证 $1 \le l \le r \le n$ 且 $1 \le x \le 10 ^ 5$。

输出格式

对于每个操作 2,打印答案。 --- Translated by User 735713.