Farmer John неустанно тренирует коров на дорогах пастбищ. Вершины и двусторонние рёбра имеют ровно один простой путь между каждой парой вершин — структура похожа на дерево. Все извилистые рёбра удивительно равной длины.
Хитрые коровы называют наибольшее расстояние между парой вершин набора его длиной пути. Если слишком велика, вовсе не упражняются.
Нанесены $V$ вершин ($2 \le V \le 100,000$), номера $1..V$. Перекрыв дорогу между двумя, можно создать больше наборов и уменьшить длины обоих.
Из полностью связного дерева перекрывают $S$ дорог ($1 \le S \le V-1$), создавая $S+1$ набор. Минимизируйте наибольшую длину среди всех наборов лучшим выбором.
Все $V-1$ рёбер заданы концами $A_{i}$ ($1 \le A_{i} \le V$), $B_{i}$ ($1 \le B_{i} \le V; A_{i} \ne B_{i}$).
Пример линейного дерева на 7 вершинах:
1---2---3---4---5---6---7
С двумя перекрытиями возможен выбор: 1---2 | 3---4 | 5---6---7
Максимальная длина $2$ — ответ; лучше нельзя.
Ограничение времени: 2 секунды
Ограничение памяти: 32 MB
Входные данные
- Строка 1: два целых $V$, $S$ через пробел.
- Строки $2..V$: два целых $A_{i}$, $B_{i}$ через пробел.
Выходные данные
- Строка 1: целое, лучший максимум длины при $S$ перекрытиях.
Примеры
Входные данные 1
7 2 6 7 3 4 6 5 1 2 3 2 4 5
Выходные данные 1
2
Автор задачи: Michael Cohen, 2010