Вадим захоплюється астрономією і вступив до астрономічного гуртка. Нещодавно він дізнався про сузір'я, що його дуже зацікавило. Одного вечора, повернувшись додому, він сфотографував нічне небо з телескопом і почав шукати сузір'я на отриманому зображенні.
Щоб розпізнавати сузір'я, Вадим вигадав просте правило: зірка належить до одного сузір'я з усіма зірками, чиї зображення "не надто далеко" від її зображення. Нехай — це відстань від зображення зірки до найближчого зображення іншої зірки. Вадим включає у це ж сузір'я ті зірки, чиї зображення знаходяться на відстані не більшій за k \cdot d, де — це ціле число, яке Вадим обирає заздалегідь.
Він застосовує це правило так. Зірки та вважаються такими, що належать одному сузір'ю, якщо існує послідовність зірок A = u_1, u_2, \ldots, u_l = B така, що для будь-яких двох сусідніх зірок u_i та u_{i+1} у цій послідовності виконується принаймні одна з двох умов:
Відстань між їх зображеннями не перевищує k \cdot \text{md}(u_i), де означає відстань від зображення зірки до найближчого зображення іншої зірки;
Відстань між їх зображеннями не перевищує k \cdot \text{md}(u_{i+1}).
Якщо така послідовність існує, Вадим вважає дві зірки такими, що належать до одного сузір'я.
Ваше завдання — написати програму, яка, використовуючи інформацію про координати зображень зірок на фотографії, групує зірки у сузір'я за методом Вадима.
Перший рядок містить два цілі числа: — кількість зірок на фотографії (2 \leq n \leq 5000) та (1 \leq k \leq 10). Кожен з наступних рядків містить два числа — x_i і y_i — координати -тої зірки (|x_i|, |y_i| \leq 10^5). Зображення всіх зірок розташовані у різних точках.
Виведіть число — кількість сузір'їв. У наступних рядках виведіть описи сузір'їв. Кожен опис повинен містити число n_i — кількість зірок у цьому сузір'ї, а також n_i чисел — номери цих зірок. Зірки пронумеровані від до у порядку подання у вхідних даних.
Приклад 1