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

Сузір`я

Сузір`я

Вадим захоплюється астрономією і навіть ходить в астрономічний гурток. Нещодавно на гуртку він взнав про сузір'я. Це поняття його дуже зацікавило, тому, прийшовши додому увечері, він сфотографував зоряне небо при допомозі телескопу і став шукати сузір'я на отриманому знімку. Для того, щоб виділяти сузір'я, він придумав просте правило - зірка \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} у тому порядку, в якому вони перераховані у вхідному файлі.
Ліміт часу 3 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #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