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

printЗадачи

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

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

Роман достаточно давно занимается в математическом кружке, поэтому он уже успел узнать не только правила выполнения простейших операций, но и о таком достаточно сложном понятии как симметрия. Чтобы получше изучить симметрию, Роман решил начать с наиболее простых геометрических фигур – треугольников. Он скоро понял, что осевой симметрией обладают так называемые равнобедренные треугольники. Напомним, что треугольник называется равнобедренным, если его площадь не нулевая, и у него есть хотя бы две равные стороны.
Недавно Роман, зайдя в класс, увидел, что на доске нарисовано `n` точек. Разумеется, он сразу задумался, сколько существует троек из этих точек, которые являются вершинами равнобедренных треугольников.
Требуется написать программу, котрая ответит на вопрос, интересующий Романа.
Формат входных данных
Входной файл содержит в первой строке целое число `n` (`3\ ≤\ n\ ≤\ 1500`). Каждая из последующих строк содержит по два разделенных пробелом целых числа – `x_i` и `y_i` , определяющих координаты `i`-ой точки. Все координаты точек не превосходят `10^9` по абсолютной величине. Среди заданных точек нет совпадающих.
Формат выходных данных
В выходной файл необходимо вывести одно целое число – количество троек из заданных точек, которые являются вершинами равнобедренных треугольников.
Примеры входных и выходных данных

input.txt

3
0 0
2 2
-2 2

output.txt

1

input.txt

4
0 0
1 1
1 0
0 1

output.txt

4
Источник: региональный этап Всероссийской олимпиады по информатике 2008/2009, http://neerc.ifmo.ru/school/
loading