Задача №3381. Коровники

В селе Максоярославке коровы обычно пасутся на лужайках, соединенных дорожками, на каждой лужайке пасется хотя бы одна корова. При этом для каждой пары лужаек есть ровно один способ пройти от одной лужайки до другой. По каждой дорожке можно двигаться в обоих направлениях. Считается, что все дорожки имеют одинаковую длину.
Главный фермер села хочет построить на лужайках \(k\) коровников для своих коров. Ясно, что каждая корова вечером будет возвращаться именно в тот коровник, который ближе к ее лужайке (если расстояние до коровников одинаково, то в любой из них). Поэтому возникает задача определения такого расположения коровников, при котором наибольшее из расстояний, проходимых коровами, было бы минимально.

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

В первой строке входного файла содержатся два числа \(n\) и \(k\) (\(2 \le n \le 50\;000\), \(1 \le k \le n\)) --- количество лужаек и планируемое число коровников, соответственно. Следующие \(n - 1\) строк содержат описания дорожек. Каждая дорожка задается парой целых положительных чисел (\(a, \, b\)), где \(a\) и \(b\) --- номера лужаек, которые соединяет данная дорожка. Лужайки нумеруются с единицы.

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

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

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