Flatland 有 $n$ 个城市,有 $n-1$ 条双向道路连接着这些城市。从该国的任何一个城市出发,都可以通过道路到达其他任何城市。在本题中,我们将从 $a$ 到 $b$ 所需的最少道路集合称为简单路径。
Flatland 政府最近在所有道路上引入了通行费。使用一条连接两个城市的道路需要花费 1 卢布。这意味着每次你从一个城市旅行到另一个城市时,你必须支付的卢布数量等于你旅途中经过的道路数量。
许多人对这一决定感到不满,尤其是那些长途旅行的人。现任政府的政治对手声称,Flatland 中简单路径的最大成本非常高,即 $cost$ 卢布。政府决定支持民众并平息反对派的愤怒。他们希望尽可能降低国内简单路径的最大成本。换句话说,他们希望反对派报告的 $cost$ 数值尽可能小。政府允许取消最多 $k$ 条道路的通行费以实现这一目标。如果有多种方法可以做到这一点,他们希望最小化变免费的道路数量。
像其他任何政府一样,Flatland 的政府相当死板。他们还要求,变免费的道路集合必须能够表示为某些城市 $x$ 和 $y$ 之间的简单路径。你的任务是帮助政府。
输入格式
第一行包含两个整数 $n$ 和 $k$ ($1 \le k < n \le 5000$),分别表示 Flatland 的城市数量和允许变免费的道路的最大数量。接下来的 $n-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$,表示有一条连接城市 $u_i$ 和 $v_i$ 的道路 ($0 \le u_i, v_i < n$)。
输出格式
第一行输出一个整数:政府能够实现的简单路径的最大成本的最小值 ($0 \le cost < n-1$)。 第二行输出为实现该成本所需变免费的最小道路数量 $t$ ($0 \le t \le k$)。 如果 $t > 0$,则在第三行输出两个空格分隔的整数:城市 $x$ 和 $y$ 的编号,使得它们之间的简单路径上的所有道路都必须变免费 ($0 \le x, y < n$,且 $x$ 和 $y$ 之间的简单路径必须恰好包含 $t$ 条道路)。
样例
样例输入 1
8 3 0 2 0 5 2 3 5 1 4 5 5 6 6 7
样例输出 1
2 3 2 6
样例输入 2
5 2 0 1 0 2 0 3 0 4
样例输出 2
2 0