Уличная сеть города Bytown состоит из $n$ перекрестков и $n-1$ двусторонних улиц, каждая из которых соединяет пару перекрестков, при этом любые два перекрестка достижимы друг из друга. Чтобы улучшить транспортную ситуацию, мэр Byteasar хочет построить систему метро. В частности, он хочет разместить станции метро на некоторых перекрестках и проложить пути по некоторым улицам. Сеть метро должна быть связной, то есть поезда должны иметь возможность перемещаться между любыми двумя станциями метро, возможно, проезжая через другие станции.
Стоимость прокладки туннелей высока, но стоимость строительства конечных станций (то есть станций, в которые входит только один туннель) еще выше, так как такие станции требуют дополнительной инфраструктуры для стоянки и обслуживания поездов. Из-за бюджетных ограничений количество конечных станций может составлять не более $k$. С другой стороны, разумная сеть метро должна иметь как минимум две такие станции.
«Индекс раздражения» пассажиров определяется как минимальное количество улиц, которые им нужно пройти пешком от дома до ближайшей станции метро. Мэр требует спроектировать сеть метро так, чтобы минимизировать максимальное значение индекса раздражения среди всех пассажиров. Мы предполагаем, что на каждом перекрестке живут пассажиры.
Входные данные
Первая строка содержит два целых числа $n$ и $k$ ($n \ge 3, 2 \le k \le n$), разделенных пробелом, обозначающих количество перекрестков и максимальное количество конечных станций соответственно. Перекрестки пронумерованы от $1$ до $n$.
Следующие $n-1$ строк содержат по два целых числа $a$ и $b$ ($1 \le a, b \le n, a \neq b$), разделенных пробелом, обозначающих, что перекрестки $a$ и $b$ напрямую соединены улицей.
Выходные данные
В первой строке выведите два целых числа $r$ и $s$, разделенных пробелом, обозначающих минимально возможное значение максимума индекса раздражения и количество конечных станций в этом проекте (удовлетворяющее условию $2 \le s \le k$). Во второй строке выведите $s$ различных целых чисел в диапазоне от $1$ до $n$, соответствующих номерам перекрестков, на которых расположены конечные станции.
Среди всех проектов сети следует отдавать предпочтение тому, у которого $r$ минимально. Если существует несколько таких проектов, вторичной целью является минимизация $s$. Если существует несколько проектов с минимальными $r$ и $s$, можно вывести любой из них.
Примеры
Пример 1
8 3 1 5 2 5 2 7 3 7 4 5 5 6 7 8
Выходные данные 1
1 2 8 1
Примечание
Уличная сеть показана на рисунке. Оптимальный проект сети метро имеет две конечные станции (расположенные на перекрестках 1 и 8). Максимальный индекс раздражения пассажиров при этом равен 1. Обратите внимание, что существуют и другие оптимальные проекты сети метро с $r=1$ и $s=2$. Также существуют сети с $r=1$ и $s=3$, но они не являются оптимальными.
Примеры тестов
- 1ocen: $n = 30, k = 29$, перекрестки $2, \dots, n$ соединены с перекрестком $1$.
- 2ocen: $n = 5000, k = 4000$, перекрестки $1, 2, \dots, 2000$ последовательно соединены в путь, перекрестки $2001, \dots, 3500$ соединены с перекрестком $1$, а перекрестки $3501, \dots, 5000$ соединены с перекрестком $2000$.
- 3ocen: $n = 2^{20} - 1, k = 1509$, перекрестки образуют полное бинарное дерево.
Подзадачи
Тестовые данные состоят из следующих подзадач. Каждый подзадача может содержать несколько тестов. Если программа выводит правильно только первую строку, она получит 50% баллов за этот тест. Помните, что программа должна корректно завершаться и не превышать ограничения по времени и памяти. Ограничения по времени для каждой подзадачи опубликованы на SIO.
| Подзадача | Ограничения | Баллы |
|---|---|---|
| 1 | $n \le 5000$ | 30 |
| 2 | $n \le 500\,000$ | 40 |
| 3 | $n \le 3\,000\,000$ | 30 |