线段交

线段交

Description

给定N个线段。求线段两两相交交点的个数。
注意:如果两组线段相交于同一个交点,这个交点要计算多次。

Format

Input

一行一个整数N,表示线段的个数
第2~N+1行,每行四个实数,x1,y1,x2,y2,表示线段的两个端点(x1,y1)和(x2,y2)

Output

一行一个整数,表示交点的个数。

Sample 1

Input

3
0.00 0.00 1.00 1.00
0.00 1.00 1.00 0.00
0.00 0.00 1.00 0.00

Output

3

样例解释:
(0,0)(1,1)和(0,1)(1,0)有交点
(0,0)(1,1)和(0,0)(1,0)有交点
(0,1)(1,0)和(0,0)(1,0)有交点

Limitation

对于100%的数据,N <= 100
点的坐标范围(-10000, 10000)
1s, 256MiB for each test case.