В 2039 году в школе Димиго есть $N$ зданий, пронумерованных от $1$ до $N$, и $M$ дорог, соединяющих эти здания. Между любыми двумя зданиями существует не более одной прямой дороги.
Однажды в школе началось распространение вируса, и все ученики оказались под угрозой заражения. Чтобы остановить распространение вируса, вы решили перекрыть все дороги, выполнив $0$ или более операций контроля следующего вида:
- Выберите здание, которое напрямую соединено хотя бы с одной еще не перекрытой дорогой, и перекройте все дороги, соединенные с этим зданием.
Ради безопасности учеников вы решили выполнить максимально возможное количество операций контроля. Определите, в каком порядке следует выполнять эти операции.
Входные данные
В первой строке заданы количество зданий $N$ и количество дорог $M$, разделенные пробелом. $(1 \le N \le 10^{5}; 0 \le M \le 10^{5})$
В следующих $M$ строках заданы пары номеров зданий $u$ и $v$, соединенных дорогой, разделенные пробелом. $(1 \le u, v \le N; u \ne v)$
Выходные данные
В первой строке выведите максимальное количество операций контроля $K$, которое можно выполнить.
В следующих $K$ строках выведите номера зданий, на которых проводятся операции контроля, в порядке их выполнения, по одному номеру в строке.
Если существует несколько способов максимизировать количество операций, выведите любой из них.
Примеры
Пример 1
3 3 3 2 3 1 2 1
Выходные данные 1
2 2 3
Пример 2
10 8 4 10 10 7 1 4 8 6 10 1 1 9 7 4 9 5
Выходные данные 2
6 7 10 4 5 9 8