En 2039, à Dimigo, il y a $N$ bâtiments numérotés de $1$ à $N$ et $M$ routes reliant ces bâtiments. Il y a au plus une route reliant directement deux bâtiments.
Un jour, un virus se propage dans l'école et tous les élèves risquent d'être infectés. Pour empêcher la propagation du virus, vous décidez de contrôler toutes les routes en effectuant l'opération de contrôle suivante $0$ fois ou plus :
- Choisir un bâtiment directement relié à une route non encore contrôlée, puis contrôler toutes les routes directement reliées à ce bâtiment.
Pour la sécurité des élèves, vous décidez d'effectuer le plus grand nombre possible d'opérations de contrôle. Vous devez déterminer dans quel ordre effectuer ces opérations.
Entrée
La première ligne contient le nombre de bâtiments $N$ et le nombre de routes $M$, séparés par un espace. $(1 \le N \le 10^{5}; 0 \le M \le 10^{5})$
À partir de la deuxième ligne, $M$ lignes suivent, chacune contenant les numéros des deux bâtiments $u$ et $v$ reliés par une route, séparés par un espace. $(1 \le u, v \le N; u \ne v)$
Sortie
La première ligne doit contenir le nombre maximal d'opérations de contrôle $K$ pouvant être effectuées.
À partir de la deuxième ligne, $K$ lignes doivent suivre, chacune contenant le numéro du bâtiment choisi pour l'opération de contrôle, dans l'ordre, un par ligne.
S'il existe plusieurs façons de maximiser le nombre d'opérations de contrôle, vous pouvez en afficher n'importe laquelle.
Exemples
Entrée 1
3 3 3 2 3 1 2 1
Sortie 1
2 2 3
Entrée 2
10 8 4 10 10 7 1 4 8 6 10 1 1 9 7 4 9 5
Sortie 2
6 7 10 4 5 9 8