#P17571. PM4439 隐藏三角形

PM4439 隐藏三角形

题目描述

一条线段可以用四个整数 (x1,y1,x2,y2)(x_1,y_1,x_2,y_2) 表示,其中 (x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2) 分别是线段的两个端点。

给定 nn 条线段。每条线段要么与坐标轴平行,要么与某条坐标轴成 4545^\circ 角。若若干线段相交形成三角形,则称这个三角形被这些线段“构成”。

请计算所有不同三角形的数量。两个三角形不同,当且仅当它们至多有两个公共顶点。

输入格式

第一行输入一个整数 nn,表示线段数量。

接下来 nn 行,每行四个整数 x1,y1,x2,y2x_1,y_1,x_2,y_2,表示一条线段的两个端点。

输出格式

输出一个整数,表示由这些线段的交点构成的不同三角形数量。

样例 1

输入

6
0 0 3 0
0 0 0 3
0 0 3 3
0 3 3 0
0 3 3 3
3 0 3 3

输出

8

解释

其中有 44 个面积为 2.252.25 的三角形,以及 44 个面积为 4.54.5 的三角形。

样例 2

输入

6
0 0 0 2
1 0 1 2
2 0 2 2
0 2 2 2
0 1 2 1
0 0 2 0

输出

0

这些线段组成了一个被分成四个小正方形的正方形,不会形成三角形。

数据范围

  • 0n500\le n\le 50
  • 所有端点坐标均在 [100,100][-100,100] 范围内;
  • 每条线段长度至少为 11
  • 每条线段要么与坐标轴平行,要么与某条坐标轴成 4545^\circ 角。