最近,Byteland 在地下深处发现了一个巨大的矿井,里面有 $n$ 颗水晶。水晶的编号为 $1, 2, \dots, n$。每颗水晶的重量尚未确定,但可以估计出一个范围。具体来说,第 $i$ 颗水晶的重量是一个在范围 $[a_i, b_i]$ 内的整数。
你是该矿井的分析师。你将收到 $q$ 次操作,每次操作为以下两种之一:
- “$1\ k\ a\ b$” ($1 \le k \le n, 1 \le a \le b \le 10^9$):对第 $k$ 颗水晶进行重新扫描。新的报告显示其重量是一个在范围 $[a, b]$ 内的整数。之前的范围现在作废。
- “$2\ l\ r$” ($1 \le l \le r \le n$):假设编号在 $[l, r]$ 范围内的水晶中有一些(可能是一个也不选,也可能是全部)被挖掘出来,让我们测量它们的总重量,我们可能得到多少种不同的总重量?
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 5$),表示测试用例的数量。对于每个测试用例:
第一行包含两个整数 $n$ 和 $q$ ($1 \le n, q \le 50\,000$),分别表示水晶的数量和操作的数量。
接下来的 $n$ 行中,第 $i$ 行包含两个整数 $a_i$ 和 $b_i$ ($1 \le a_i, b_i \le 10^9$),表示第 $i$ 颗水晶的重量范围。
接下来的 $q$ 行,每行描述一个上述格式的操作。
保证所有 $a_i, b_i, a, b$ 的值都是从其对应范围内均匀随机选择的整数。随机性条件不适用于样例测试,但你的解法必须通过样例。
输出格式
对于每个查询,输出一行一个整数,表示可能得到的总重量的数量。
样例
样例输入 1
1 3 5 2 3 1 1 3 4 2 1 1 2 1 2 2 1 3 1 2 1 5 2 1 3
样例输出 1
3 5 9 13
说明
在第一个查询中,总重量可以是 0, 2 或 3。
在第二个查询中,总重量可以是 0, 1, 2, 3 或 4。