La red de calles de Bytown consta de $n$ intersecciones y $n-1$ calles bidireccionales, donde cada calle conecta directamente un par de intersecciones y es posible viajar entre cualquier par de intersecciones. Para mejorar el tráfico, el alcalde Byteasar quiere construir un sistema de metro. Específicamente, desea establecer estaciones de metro en algunas intersecciones y tender vías que atraviesen algunas calles. La red de metro debe ser conexa, es decir, los trenes deben poder circular entre cualquier par de estaciones de metro, posiblemente pasando por otras estaciones intermedias.
El costo de excavar túneles es alto, pero el costo de construir estaciones terminales (es decir, estaciones donde solo llega un túnel) es aún mayor, ya que estas estaciones requieren infraestructura adicional para el estacionamiento y mantenimiento de los trenes. Debido a restricciones presupuestarias, el número de estaciones terminales puede ser como máximo $k$. Por otro lado, una red de metro razonable requiere al menos dos de tales estaciones.
El "índice de irritación" de un pasajero se define como el número mínimo de calles que debe recorrer a pie desde su hogar hasta la estación de metro más cercana. El alcalde solicita diseñar una red de metro que minimice el valor máximo de los índices de irritación de todos los pasajeros. Suponemos que en cada intersección vive un grupo de pasajeros.
Entrada
La primera línea contiene dos enteros $n$ y $k$ ($n \ge 3, 2 \le k \le n$), separados por un espacio, que representan el número de intersecciones y el número máximo de estaciones terminales, respectivamente. Las intersecciones están numeradas del $1$ al $n$.
Las siguientes $n-1$ líneas contienen cada una dos enteros $a$ y $b$ ($1 \le a, b \le n, a \neq b$), separados por un espacio, que indican que las intersecciones $a$ y $b$ están conectadas directamente por una calle.
Salida
La primera línea debe imprimir dos enteros $r$ y $s$, separados por un espacio, que representan el valor mínimo del máximo índice de irritación de los pasajeros y el número de estaciones terminales en dicho diseño (cumpliendo $2 \le s \le k$). La segunda línea debe imprimir $s$ enteros distintos, en el rango de $1$ a $n$, correspondientes a los números de las intersecciones donde se establecen las estaciones terminales.
Entre todos los diseños de red, se debe priorizar aquel con el menor $r$. En caso de empate, el objetivo secundario es minimizar $s$. Si existen múltiples diseños que cumplen con el $r$ mínimo y el $s$ mínimo, se puede imprimir cualquiera de ellos.
Ejemplos
Ejemplo 1
8 3 1 5 2 5 2 7 3 7 4 5 5 6 7 8
Salida 1
1 2 8 1
Nota
La red de calles se muestra en la figura. El diseño óptimo de la red de metro tiene dos estaciones terminales (ubicadas en las intersecciones 1 y 8). El valor máximo del índice de irritación de los pasajeros es 1. Tenga en cuenta que existen otros diseños óptimos de red de metro que cumplen $r=1$ y $s=2$. Además, existen redes con $r=1$ y $s=3$, pero no son óptimas.
Ejemplos de prueba
- 1ocen: $n = 30, k = 29$, las intersecciones $2, \dots, n$ están todas conectadas a la intersección $1$.
- 2ocen: $n = 5000, k = 4000$, las intersecciones $1, 2, \dots, 2000$ forman una ruta consecutiva, las intersecciones $2001, \dots, 3500$ están todas conectadas a la intersección $1$, y las intersecciones $3501, \dots, 5000$ están todas conectadas a la intersección $2000$.
- 3ocen: $n = 2^{20} - 1, k = 1509$, las intersecciones forman un árbol binario completo.
Subtareas
El conjunto de pruebas consta de las siguientes subtareas. Cada subtarea puede contener múltiples casos de prueba. Si el programa solo imprime correctamente la primera línea, obtendrá el 50% de la puntuación de ese caso de prueba. Recuerde que el programa aún debe terminar correctamente y no exceder los límites de tiempo y memoria. Los límites de tiempo para cada subtarea se publican en SIO.
| Subtarea | Restricciones | Puntuación |
|---|---|---|
| 1 | $n \le 5000$ | 30 |
| 2 | $n \le 500\,000$ | 40 |
| 3 | $n \le 3\,000\,000$ | 30 |