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

Гра

\textit{- Але як він це робить! Він забирається на найвищу сосну і звідти планиє.} \textit{- Ага. Пробачте, що планує?} \textit{"День радіо"} Дівчмнка Наташа готує поле для дуже цікавої гри. У ній приймуть участь \textbf{k} команд, кожна з яких повинна отримати у своє розпорядження одне чи декілька дерев і мотузку. При цьому у кожної команди повинна бути можливість при допомозі мотузки дістатись від довільного свого дерева до довільного іншого свого дерева, не використовуючи чужі дерева. Будемо вважати, що при допомозі мотузки можна перебратись з одного дерева на інше напряму, якзо її довжина не менше відстані між ними. Довжина всіх мотузок повинна бути однаковою, щоб поставити всі команди у рівні умови. Розділіть всі доступні \textbf{n} дерев на \textbf{k} наборів так, щоб потрібна довжина мотузок виявилась якомога меншою. \InputFile У першому рядку вхідних даних записані цілі числа \textbf{n} і \textbf{k} - кількості дерев і команд, відповідно (\textbf{1} ≤ \textbf{k} ≤ \textbf{n} ≤ \textbf{1000}). У кожному з наступних \textbf{n} рядків записано по два цілих числа \textbf{x_i} і \textbf{y_i} - координати \textbf{i}-го дерева (\textbf{-10^4} ≤ \textbf{x_i}, \textbf{y_i} ≤ \textbf{10^4}). \OutputFile У першому рядку виведіть одне дійсне число не менше, ніж з шістьмома точними знаками після крапки - мінімально можливу довжину мотузки. У другому виведіть \textbf{n} чисел від \textbf{1} до \textbf{k} - номери команд, яким потрібно присвоїти відповідні дерева. Якщо розв'язків декілька, виведіть довільний.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 2
1 0
0 1
1 1
0 0
Вихідні дані #1
1.000000000
1 1 1 2
Автор А.Лопатін
Джерело Літня школа, Севастополь 2010