#P1436. Horizontally Visible Segments

Horizontally Visible Segments

描述

平面上有若干互不相交的垂直线段。如果两条线段之间可以用一条水平的线段连接,并且这条水平线段不与其他任何垂直线段相交,则称这两条线段是水平可见的。如果三个不同的垂直线段两两之间都是水平可见的,则称它们构成一个“线段三角形”。给定一组垂直线段,问其中有多少个这样的三角形?

任务

为每个数据集编写程序:
读取一组垂直线段的描述;
计算这组线段中三角形的数量;
输出结果。

输入

输入的第一行包含一个正整数dd,表示数据集的数量,1d201 \leq d \leq 20。接下来是dd个数据集。

每个数据集的第一行包含一个整数nn,表示垂直线段的数量,1n80001 \leq n \leq 8\,000

接下来的nn行,每行包含三个非负整数,用空格分隔:
yiy_i', yiy_i'', xix_i —— 分别表示线段的起点纵坐标、终点纵坐标和横坐标。坐标满足0yi<yi80000 \leq y_i' < y_i'' \leq 8\,0000xi80000 \leq x_i \leq 8\,000。所有线段互不相交。

输出

输出应包含dd行,每行对应一个数据集的结果,输出该数据集中线段三角形的数量。

输入数据 1

1  
5  
0 4 4  
0 3 1  
3 4 2  
0 2 2  
0 2 3

输出数据 1

1  

来源

中欧 2001