你正在运营一个区间存储服务。仓库中目前存有 $N$ 个区间,其中第 $i$ 个区间在数轴上表示为 $[l_i, r_i]$。
目前已宣布将有 $Q$ 次激光袭击仓库!第 $j$ 次激光的伤害范围可以表示为区间 $[s_j, e_j]$。每次激光袭击发生时,你的任务是移动存储的区间,使得没有任何区间被激光击中。
具体来说,对于每个存储的区间 $[l_i, r_i]$,需要选择一个合适的整数 $x_{ij}$。然后,对于所有的 $(i, j)$,$[l_i+x_{ij}, r_i+x_{ij}]$ 与 $[s_j, e_j]$ 的交集长度必须为 $0$。这里,两个区间 $[a, b]$ 和 $[c, d]$ 的交集长度定义为 $\max(0, \min(b, d) - \max(a, c))$。
区间很重,移动它们需要特殊的机器。移动一个区间所需的电费为(移动距离)$\times$(区间长度)。因此,在第 $j$ 次激光袭击前需要支付的费用为 $\sum_{i=1}^{N} (r_i-l_i)|x_{ij}|$。
请注意,在每次激光袭击后,所有区间都必须移回其初始位置,这同样会产生电费。
你的任务是在保证所有存储区间安全的前提下,支付最少的电费。计算所需的最小费用。
输入格式
输入的第一行包含两个整数 $N$ 和 $Q$,分别表示区间的数量和激光袭击的次数。($1 \le N, Q \le 250\,000$)
接下来的 $N$ 行中,第 $i$ 行包含两个整数 $l_i$ 和 $r_i$,表示第 $i$ 个区间的端点。($1 \le l_i < r_i \le 1\,000\,000$)
接下来的 $Q$ 行中,第 $j$ 行包含两个整数 $s_j$ 和 $e_j$,表示第 $j$ 次激光袭击造成的伤害范围的端点。($1 \le s_j < e_j \le 1\,000\,000$)
输入中的所有值均为整数。
输出格式
共输出 $Q$ 行:每行对应一次激光袭击,输出将所有区间移动到安全位置并移回原始状态所需的最小电费。
样例
输入样例 1
2 2 1 5 4 8 3 5 8 9
输出样例 1
24 0