Dado un grafo no dirigido, encuentra un recubrimiento de vértices mínimo. Una locura, ¿verdad?
Sea $M$ el tamaño del emparejamiento máximo y $C$ el tamaño del recubrimiento de vértices mínimo. Si el recubrimiento de vértices mínimo es smol, lo cual significa que $C \le M + 1$, entonces encuéntralo.
Entrada
Cada prueba contiene múltiples casos de prueba. La primera línea contiene el número de casos de prueba $T$ ($1 \le T \le 10^4$).
A continuación sigue la descripción de los casos de prueba.
La primera línea de cada caso de prueba contiene dos enteros $n$ y $m$ ($1 \le n \le 500$, $0 \le m \le \frac{n(n-1)}{2}$) — el número de vértices y aristas en el grafo.
Las siguientes $m$ líneas describen las aristas del grafo, cada una de ellas contiene dos enteros $u$ y $v$ ($1 \le u < v \le n$) — los vértices conectados por una arista. Los vértices están numerados del $1$ al $n$.
Se garantiza que el grafo no contiene aristas múltiples.
Se garantiza que la suma de $n^2$ sobre todos los casos de prueba no excede $250\,000$.
Salida
Para cada caso de prueba, si el recubrimiento de vértices mínimo es smol, imprime su tamaño $C$ en la primera línea, y luego $C$ vértices distintos separados por espacios que formen un recubrimiento de vértices en la segunda línea. De lo contrario, imprime "not smol" en una sola línea (sin comillas).
Si existen varios recubrimientos de vértices mínimos smol posibles, imprime cualquiera de ellos.
Ejemplos
Entrada 1
1 5 5 1 2 2 3 3 4 4 5 1 5
Salida 1
3 2 3 5
Entrada 2
2 3 0 5 10 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5
Salida 2
0 not smol
Nota
Un recubrimiento de vértices es un conjunto de vértices tal que para cada arista al menos uno de sus extremos pertenece al conjunto.
Un emparejamiento es un conjunto de aristas tal que no hay dos aristas que compartan un extremo común.
Ten en cuenta que un recubrimiento de vértices mínimo no será aceptado como una respuesta correcta si no es smol.