eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Сітка

Сітка

На площині задано нескінченнну сітку з вертикальних та горизонтальних прямых. Ці прямі задано рівняннями \{\textbf{X} = \textbf{i}·\textbf{K}\} і \{\textbf{Y} = \textbf{j}·\textbf{K}\} для довільних цілих чисел \textbf{i} та \textbf{j}. Також задано \textbf{N} точок. Для конкретної точки ми говоримо, що вона належить сітці, якщо ця точка належить хоча б одній з прямих, які утворюють сітку. Є можливість рухати сітку паралельно осям координат. Перенесення сітки на вектор (\textbf{dx}, \textbf{dy}) означає, що замість кожної з прямих \{\textbf{X} = \textbf{i}·\textbf{K}\} виникає пряма \{\textbf{X} = \textbf{i}·\textbf{K} + \textbf{dy}\}, а замість кожної з прямих \{\textbf{Y} = \textbf{j}·\textbf{K}\} виникає пряма \{\textbf{Y} = \textbf{j·K + dx}\}. Знайдіть вектор переносу сітки, в результаті застосування якого їй буде належати найбільша кількість заданих точок. \InputFile Перший рядок містить два цілих числа \textbf{N} і \textbf{K}. \textbf{i}-ий з наступних \textbf{N} рядків містить пару чисел \textbf{X_i}, \textbf{Y_i} --- координати \textbf{i}-ої точки (\textbf{1} ≤ \textbf{N} ≤ \textbf{10^5}, \textbf{2} ≤ \textbf{K} ≤ \textbf{10^9}). Координати усіх точок цілі і по абсолютній величині не перевищують \textbf{10^9}. Ніякі дві точки не співпадають. \OutputFile Виведіть максимальну можливу кількість точок із заданої множини, які одночасно належать сітці.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
6 2
2 0
0 1
2 2
3 3
3 2
4 1
Вихідні дані #1
5

Пояснення: Один из возможных векторов переноса сетки в данном примере — (1,0).

Автор Ельдар Богданов
Джерело Зимова Школа, Харків 2011, День 7