printРабочее место участника

printЗадачи

2107. Треугольники

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Вам даны `N` прямых, заданных уравнениями вида `A_i*x\ +\ B_i*у\ +\ C_i\ =\ 0`. При этом никатие три прямых не пересекаются в одной точке. Рассчитать число различных треугольников, стороны лежат на данных прямых. Поскольку результат может быть очень большим, вывести это число по модулю `1\ 000\ 000\ 007`.
28740.png
Рисунок к первому примеру
Первая строка ввода содержит целое число `N` (`1\ ≤\ N\ ≤\ 300\ 000`) – количество линий.
Каждая из следующих `N` строк содержит три целых числа: `A_i`, `B_i` и `С_i` – коэффициенты, определяющие `i`-ю прямую. Все числа будут меньше по модулю, чем `10^9`.
Первая строка вывода должна содержать одно число – ответ задачи.

Пример ввода 1

6
0 1 0
-5 3 0
-5 -2 25
0 1 -3
0 1 -2
-4 -5 29

Пример вывода 1

10

Пример ввода 2

5
-5 3 0
-5 -3 -30
0 1 0
3 7 35
1 -2 -1

Пример вывода 2

10
Source: COCI 2013/2014, contest #5
loading