У 2048 році соціологи зацікавились структурою спільноти олімпіадників-алгоритмістів і в результаті своїх досліджень зробили наступні спостереження. Новина про успіхи довільного олімпіадника може поширюватись від довільного з його знайомих до усіх його знайомих, при умові, що довільні дві людини не спілкуються, якщо вони не знайомі, і обговорюють лише успіхи своїх спільних знайомих. Крім того, у кожного серед його знайомих немає трьох, попарно один з одним не знайомих.
І ось спільнота вирішила придбати в складчину безумно дорогу статтю про новий алгоритм множення квадратних матриць, який працює за час \Theta(N^{2,32768}), де — порядок матриць. Робити копії статті строго-настрого заборонено законами. При цьому кожен хоче прочитати статтю, але не готовий віддавати її незнайомій людині. До того ж, нікому не хочеться вовтузитись зі статтею після прочитання. Крім Васі — хранителя статті, якому доручено її придбання і у якого стаття буде зберігатись у подальшому. Але Вася також готовий лише купити статтю, прочитати, передати далі і забрати статтю у останнього, хто прочитає, але не передавати її від однієї людини іншій.
Потрібно визначити найбільшу кількість людей, які зможуть прочитати статтю і схему передачі статті від однієї людини іншій.
У першому рядку задано два цілі числа та (3 \le N \le 1000, 0 \le M \le 10\ 000, M \le N(N-1)/2) — кількість програмістів та кількість пар знайомих програмістів. Кожен із наступних рядків містить рівно два цілі числа p_1 та p_2 (1 \le p_1, p_2 \le N, p_1 \ne p_2) — номери знайомих програмістів.
У першому рядку виведіть ціле число — кількість програмістів, які можуть прочитати статтю. У наступному рядку виведіть різних чисел — порядок, у якому вони можуть її прочитати. Ця послідовність повинна починатися з , не містити жодного числа більше одного разу, будь-які два сусідні числа повинні відповідати знайомим людям, а останній програміст повинен бути знайомий з Васею.
Приклад 1