#P12838. 飞行训练

飞行训练

飞行训练

Problem Description

小 Q 是一名见习飞行员,他正在进行飞行训练。 世界上一共有 nn 个机场,编号依次为 1,2,,n1,2,\dots,n。在这些机场的停机坪上,停放着 mm 架飞机。第 ii 架飞机位于 xix_i 号机场,如果小 Q 驾驶它起飞,将被允许降落在编号在 [li,ri][l_i,r_i] 的任意机场。一架飞机的燃料只允许它被使用一次。 小 Q 每天将从任意机场 xx 挑选一架飞机 aa 起飞,合法地降落在机场 yyyxy\neq x),然后挑选机场 yy 的一架飞机 bb 起飞,合法地降落在机场 zzzxz\neq x, zyz\neq y),最后挑选 zz 的一架飞机 cc 起飞,合法地降落在机场 xx,构成一天的训练计划。 小 Q 现在想知道,一共有多少种不同的训练计划?两个计划被认为不同当且仅当六元组(a,b,c,x,y,za,b,c,x,y,z)不同。

Input

第一行包含一个正整数 TT1T151\leq T\leq 15),表示测试数据的组数。 每组数据第一行包含两个正整数 n,mn,m3n500003\leq n\leq 50\,000, 1m500001\leq m\leq 50\,000),分别表示机场和飞机的数量。 接下来 mm 行,每行三个正整数 xi,li,rix_i,l_i,r_i1xin1\leq x_i\leq n, 1lirin1\leq l_i\leq r_i\leq n, xi[li,ri]x_i\notin[l_i,r_i]),分别描述每架飞机。 输入数据保证 n200000\sum n\leq 200\,000m200000\sum m\leq 200\,000

Output

对于每组数据输出一行一个整数,即本质不同的训练计划数量。

Sample Input

2
3 3
1 2 2
2 3 3
3 1 1
6 7
1 2 4
2 1 1
2 4 5
6 1 5
5 2 3
3 5 6
4 1 3

Sample Output

3
15

Source

2025“钉耙编程”中国大学生算法设计暑期联赛(7)