小 I 正在学习练字,可当他打开白纸时才想起来自己之前无聊在白纸上将 n 条线段涂黑了,纸上其他部分都是白的。
这 n 条被涂黑的线段都是水平的或者竖直的:以白纸中心为原点,平行白纸的某条边构建 x 轴,另一条边构建 y 轴,那么每条被涂黑的线段的两个端点 (x_1,y_1) 和 (x_2,y_2) 满足:x_1 = x_2 和 y_1 = y_2 恰有一个成立。同时,任意两条水平的线段没有交点,任意两条竖直的线段没有交点。
尽管涂黑的线段很让小 I 糟心,深谙福祸相依的小 I 还是发现,涂黑的 n 条线段构成了若干田字格,而他可以在这些田字格上练字。
田字格可以由三元组 (x_0, y_0, d) 描述。一个三元组 (x_0, y_0, d) 是田字格当且仅当以下条件成立:
小 I 于是想想算算白纸上有几个田字格,也就是有多少个满足以上条件的三元组 (x_0,y_0,d)。但按照惯例小 I 不会算,所以这个任务交给了你。
输入
输入的第一行一个整数 n (1 \le n \le 3 \times 10^5) 表示线段数。接下来 n 行每行四个整数 x_1,y_1,x_2,y_2 (-10^9 \le x_1 \le x_2 \le 10^9, -10^9 \le y_1 \le y_2 \le 10^9) 表示一条线段。
输入的每条线段满足 x_1 = x_2 和 y_1 = y_2 恰有一个成立,且任意两条满足 x_1 = x_2 的线段间没有交点,任意两条满足 y_1 = y_2 的线段间没有交点。
输出
输出一行一个整数表示田字格的数量。
样例
标准输入 复制文本 |
10 -10 -10 -10 10 0 -10 0 10 10 -10 10 10 -10 -10 10 -10 -10 0 10 0 -10 10 10 10 5 -10 5 10 -10 5 10 5 -2 0 -2 10 -5 -5 10 -5 |
标准输出 复制文本 |
3 |
提示
如上图所示,(5, 5, 5), (5, 0, 5), (5, -5, 5) 是三个合法的田字格。注意以下几个都不是田字格: