Se dau N
segmente în plan, fiecare fiind paralel cu una dintre axele de coordonate.
Cerința
Determinați numărul total de puncte de intersecție între două segmente.
Date de intrare
Prima linie a fisierului is.in
conține un număr N
, ce reprezintă numărul de segmente. Fiecare din următoarele N
linii conțin câte 4
numere, separate prin câte un spațiu: X1 Y1 X2 Y2
. X1
și Y1
reprezintă abscisa respectiv ordonata unui capăt al segmentului iar X2
și Y2
abscisa respectiv ordonata celuilalt capăt.
Date de ieșire
Fișierul is.out
conține un singur număr, pe prima linie, reprezentând valoarea cerută.
Restricții și precizări
1 ≤ N ≤ 100.000
0 ≤ X1, Y1, X2, Y2 ≤ 300.000
- oricare două puncte date sunt distincte
- nu există capete ale vreunui segment aflate pe alt segment
is.in
5 1 1 10 1 1 4 5 4 2 0 2 20 3 0 3 3 15 15 20 15
is.out
3
Explicație
În fișierul de intrare sunt 5
numere care trebuie adunate, iar suma lor este 15
.