Задачи
Созвездия
Созвездия
Вадим увлекается астрономией и даже ходит в астрономический кружок. Недавно на кружке он узнал о созвездиях. Это понятие его очень заинтересовало, поэтому, придя домой вечером, он софотографировал звездное небо с помощью телескопа и стал искать созвездия на получившемся снимке.
Для того, чтобы выделять созвездия, он придумал простое правило - звезда \textbf{A} находится в одном созвездии со всеми теми звездами, изображения которых на снимке находятся от ее изображения "не слишком далеко". Пусть расстояние от изображения звезды \textbf{A} до ближайшего изображения звезды равно \textbf{d}. Тогда в одно созвездие с \textbf{A} Вадим отнесет все звезды, изображения которых находятся на расстоянии не более \textbf{k}·\textbf{d}, где \textbf{k} - некоторое целое число, выбранное Вадимом заранее.
Это правило он применяет следующим образом. Звезды \textbf{A} и \textbf{B} находятся, по мнению Вадима, в одном созвездии, если существует такая последовательность звезд \textbf{A} = \textbf{u_1}, \textbf{u_2}, ..., \textbf{u_l} = \textbf{B}, что для любых двух соседних звезд \textbf{u_i} и \textbf{u_\{i+1\}} в этой последовательности выполняется хотя бы одно условие из двух:
\begin{itemize}
\item расстояние между их изображениями не превосходит \textbf{k}·\textbf{md}(\textbf{u_i}) (как \textbf{md}(\textbf{X}) будем обозначать расстояние от изображения звезды \textbf{X} до ближайшего изображения другой звезды);
\item расстояние между их изображениями не превосходит \textbf{k}·\textbf{md}(\textbf{u_\{i+1\}}).
\end{itemize}
При этом Вадим обязательно относит две звезды к одному созвездию, если существует указанная последовательность звезд.
Ваша задача состоит в том, чтобы написать программу, которая по информации о координатах изображений звезд на снимке, разобъет их на созвездия по методу Вадима.
\InputFile
Первая строка входного файла содержит два целых числа: \textbf{n} - количество звезд на снимке (\textbf{2} ≤ \textbf{n} ≤ \textbf{5000}) и \textbf{k} (\textbf{1} ≤ \textbf{k} ≤ \textbf{10}). Каждая из последующих \textbf{n} строк содержит по \textbf{2} числа - \textbf{x_i} и \textbf{y_i} - координаты изображения очередной звезды (|\textbf{x_i}|, |\textbf{y_i}| ≤ \textbf{10^5}). Изображения всех звезд находятся в различных точках.
\OutputFile
В выходной файл выведите \textbf{m} - количество созвездий. В последующих \textbf{m} строках выведите описания созвездий. Описания каждого созвездия должно содержать число \textbf{n_i} - количество звезд в очередном созвездии, и \textbf{n_i} чисел - номера этих звезд. Звезды нумеруются натуральными числами от \textbf{1} до \textbf{n} в том порядке, в котором они перечислены во входном файле.
Входные данные #1
8 1 0 0 1 1 1 0 0 1 2 2 2 3 3 2 3 3
Выходные данные #1
2 4 1 2 3 4 4 5 6 7 8