Задача №114324. Кластеризация

У Элли есть \(N\) овец на пастбище. У неё также есть \(K\) гончих собак, которые охраняют овец от волков. Опасность для каждой овцы можно вычислить как расстояние до ближайшей собаки - чем оно меньше, тем лучше. Опасность для стада можно вычислить как сумму этих расстояний для каждой овцы. Мы считаем пастбище плоской поверхностью, а овец - точками на плоскости.

Элли задаётся вопросом, как расположить своих собак (которые также являются точками на плоскости), чтобы сумма минимальных расстояний от каждой овцы до ближайшей собаки была как можно меньше. Другими словами, вам даны \(N\) точек, и вам следует разместить \(K\) новых точек таким образом, чтобы сумма минимальных расстояний от каждой из заданных точек до ближайшей новой была как можно меньше. Напишите программу для решения этой задачи.

Входные данные

В первой строке стандартного ввода даны натуральные числа \(N\) и \(K\) - количество овец и количество собак соответственно. В каждой из следующих \(N\) строк даны два целых числа \(X_i\) и \(Y_i\) - координаты \(i\)-й овцы.

Выходные данные

Выведите \(K\) пар вещественных чисел - координаты собак, разделенные пробелом, с точностью до шестой цифры после десятичной точки. Допускается размещение собаки в той же точке, где и овца.

Система оценки

За каждый тест вашему решению будут начисляться баллы, равные \(round(min(1, (authorScore / yourScore))^4 * testScore)\), где \(authorScore\) - это результат, найденный решением жюри, \(yourScore\) - результат вашего решения, и \(testScore\) - максимальная оценка для данного теста.

Примеры
Входные данные
7 2
1 2
1 4
2 5
3 2
4 4
5 6
6 5
Выходные данные
1.750000 3.250000
5.000000 5.000000
Сдать: для сдачи задач необходимо войти в систему