Étant donné un graphe non orienté, trouvez une couverture de sommets minimale. Fou, n'est-ce pas ?
Soit $M$ la taille d'un couplage maximum, et $C$ la taille d'une couverture de sommets minimale. Si la couverture de sommets minimale est smol, ce qui signifie $C \le M + 1$, alors trouvez-la.
Entrée
Chaque test contient plusieurs cas de test. La première ligne contient le nombre de cas de test $T$ ($1 \le T \le 10^4$).
La description des cas de test suit.
La première ligne de chaque cas de test contient deux entiers $n$ et $m$ ($1 \le n \le 500$, $0 \le m \le \frac{n(n-1)}{2}$) — le nombre de sommets et d'arêtes dans le graphe.
Les $m$ lignes suivantes décrivent les arêtes du graphe, chacune contenant deux entiers $u$ et $v$ ($1 \le u < v \le n$) — les sommets reliés par une arête. Les sommets sont numérotés de $1$ à $n$.
Il est garanti que le graphe ne contient pas d'arêtes multiples.
Il est garanti que la somme de $n^2$ sur tous les cas de test n'excède pas $250\,000$.
Sortie
Pour chaque cas de test, si la couverture de sommets minimale est smol, alors affichez sa taille $C$ sur la première ligne, puis $C$ sommets distincts séparés par des espaces qui forment une couverture de sommets sur la seconde ligne. Sinon, affichez « not smol » sur une seule ligne (sans les guillemets).
S'il existe plusieurs couvertures de sommets minimales smol possibles, affichez-en n'importe laquelle.
Exemples
Entrée 1
1 5 5 1 2 2 3 3 4 4 5 1 5
Sortie 1
3 2 3 5
Entrée 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
Sortie 2
0 not smol
Remarque
Une couverture de sommets est un ensemble de sommets tel que pour chaque arête, au moins l'une des extrémités appartient à l'ensemble.
Un couplage est un ensemble d'arêtes tel qu'aucune des deux arêtes ne partage une extrémité commune.
Notez qu'une couverture de sommets minimale ne sera pas acceptée comme réponse correcte si elle n'est pas smol.