Задача №111124. Точки

На плоскости задано N точек. Кроме того, на плоскости заданы две базовые точки. Напишите программу, которая находит максимальное количество точек, которые попадут в полосу образованную парой параллельных прямых произвольно проведенных через базовые точки. Базовые точки не нужно включать в сумму точек. Если точка лежит на прямой — ее необходимо включить в сумму.

Входные данные

Первая строка входного файла содержит одно целое число N (0 ≤ N ≤ 100 000) — количество точек. Вторая строка содержит координаты двух базовых точек в формате x1 y1 x2 y2. Каждая из последующих N строк содержит координаты точки плоскости в формате x y. Координаты точек — целые числа, по модулю не превышающие 10 000. Базовые точки отличаются, по крайней мере, одной координатой.

Выходные данные

Единственная строка выходного файла должна содержать целое число — найденное максимальное количество точек, которые попадут в полосу, образованную оптимально проведенными параллельными прямыми через базовые точки

Примеры тестов

Входные данные
4
0 0 50 0
0 -50
-1 0
50 0
100 50
Выходные данные
3

Подзадача 1.
Решение \(N \le 200\). Решение оценивается в \(30\) баллов.
Подзадача 2.
Решение \(N \le 2\,000\). Решение оценивается в \(40\) баллов.
Подзадача 3.
Дополнительные ограничения отсутствуют. Решение оценивается в \(30\) баллов.
Сдать: для сдачи задач необходимо войти в систему