W roku $2039$ w szkole Dimigo znajduje się $N$ budynków ponumerowanych od $1$ do $N$ oraz $M$ dróg łączących te budynki. Pomiędzy każdymi dwoma budynkami istnieje co najwyżej jedna bezpośrednia droga.
Pewnego dnia w szkole wybuchła epidemia wirusa, co naraziło wszystkich uczniów na zarażenie. Aby powstrzymać rozprzestrzenianie się wirusa, postanowiłeś zablokować wszystkie drogi, wykonując $0$ lub więcej operacji kontrolnych według następującej zasady:
- Wybierz budynek, który jest bezpośrednio połączony z co najmniej jedną nieblokowaną jeszcze drogą, a następnie zablokuj wszystkie drogi bezpośrednio z nim połączone.
W trosce o bezpieczeństwo uczniów zdecydowałeś się wykonać jak największą liczbę operacji kontrolnych. Wyznacz kolejność, w jakiej należy przeprowadzać te operacje.
Wejście
W pierwszej linii podano liczbę budynków $N$ oraz liczbę dróg $M$, oddzielone spacją. $(1 \le N \le 10^{5}; 0 \le M \le 10^{5})$
W kolejnych $M$ liniach podano numery dwóch budynków $u$ oraz $v$ połączonych drogą, oddzielone spacją. $(1 \le u, v \le N; u \ne v)$
Wyjście
W pierwszej linii wypisz maksymalną liczbę operacji kontrolnych $K$, które można wykonać.
W kolejnych $K$ liniach wypisz numery budynków, w których przeprowadzane są operacje kontrolne, w odpowiedniej kolejności, po jednym numerze w linii.
Jeśli istnieje wiele sposobów na zmaksymalizowanie liczby operacji, wypisz dowolny z nich.
Przykład
Wejście 1
3 3 3 2 3 1 2 1
Wyjście 1
2 2 3
Wejście 2
10 8 4 10 10 7 1 4 8 6 10 1 1 9 7 4 9 5
Wyjście 2
6 7 10 4 5 9 8