11666. Порахувати пари
Дано \(N\) пар цілих чисел (\(x_i,y_i\)), які пронумеровані від 1 до \(N\) і ціле число \(K\).
Перерахуйте всі пари цілих чисел (\(p,q\)), які задовольняють наведеним нижче умовам, у форматі, зазначеному у виведенні.
\(1 \le p < q \le N\)
\(\sqrt{(x_p-x_q)^2+(y_p-y_q)^2} \le K\)
Тут гарантовано, що є не більше \(4 \times 10^5\) такі пари цілих чисел.
Формат вхідних даних
Перший рядок містить цілі числа \(N, K\) (\(1 \le N \le 2 \times 10^5\), \(1 \le K \le 1.5 \times 10^9\))
Наступні \(N\) рядків містять цілі числа \(x_i, y_i\) (\(0 \le x_i, y_i \le 10^9\))
Числа у рядках розділяються пропуском.
Формат вихідних даних
У вихідний потік виведіть відповідь у такому форматі.
Перший рядок повинен містити ціле число \(M\), що представляє кількість пар цілих чисел, які будуть перераховані.
Наступні \(M\) рядків повинні містити пари цілих чисел, які будуть перераховані (\(p_i,q_i\)) у лексикографічному порядку, кожен у своєму рядку, розділений пробілом.
Тут пара цілих чисел (\(a,b\)) стоїть перед парою цілих чисел (\(c,d\)) тоді й лише тоді, коли виконується одна з наступних умов.
\(a<c\).
\(a=c\) і \(b<d\).
Приклад вхідних даних
6 5
2 0
2 2
3 4
0 0
5 5
8 3
Приклад вихідних даних
9
1 2
1 3
1 4
2 3
2 4
2 5
3 4
3 5
5 6
Приклад вхідних даних
2 1414213562
0 0
1000000000 1000000000
Приклад вихідних даних
0
Приклад вхідних даних
10 150
300 300
300 400
300 500
400 300
400 400
400 400
400 500
500 300
500 400
500 500
Приклад вихідних даних
29
1 2
1 4
1 5
1 6
2 3
2 4
2 5
2 6
2 7
3 5
3 6
3 7
4 5
4 6
4 8
4 9
5 6
5 7
5 8
5 9
5 10
6 7
6 8
6 9
6 10
7 9
7 10
8 9
9 10
Коментарі