考虑坐标轴上的点 $1, 2, \dots, x$。给定一组起点和终点都在这些点上的线段。每条线段都有一个权重和一个惩罚值。
初始时,你的分数为 0。你可以进行若干次操作。在每次操作中,你从给定的集合中选择一条线段并将其移除,你的分数会减去该线段的惩罚值。作为回报,你的分数会增加该线段的权重乘以此时刻满足以下条件的整数坐标点的数量:该线段是当前集合中唯一覆盖这些点的线段。线段覆盖其端点。
总分是你进行所有操作所得分数的总和。求你能达到的最大总分。
输入格式
第一行包含一个整数 $t$ ($1 \le t \le 2 \cdot 10^5$),表示测试用例的数量。接下来是各测试用例。
每个测试用例的第一行包含两个整数:线段数量 $n$ ($1 \le n \le 2 \cdot 10^5$) 和最大坐标 $x$ ($1 \le x \le 5 \cdot 10^5$)。
接下来 $n$ 行描述线段。每行包含四个整数:线段的起点 $\ell_i$ 和终点 $r_i$ ($1 \le \ell_i \le r_i \le x$),权重 $w_i$ ($1 \le w_i \le 10^9$) 以及惩罚值 $p_i$ ($1 \le p_i \le 10^9$)。
所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。所有测试用例的 $x$ 之和不超过 $5 \cdot 10^5$。
输出格式
对于每个测试用例,输出一行,包含一个整数:你能达到的最大总分。
样例
输入 1
2 3 8 3 7 3 2 5 8 2 1 1 3 2 2 2 5 1 3 2 7 3 5 3 4
输出 1
16 2