Ян працює в рейтинговому агентстві, яке публікує списки найкращих університетів. Ірен — журналістка, яка планує написати сенсаційну статтю про майбутній рейтинг.
Використовуючи різні методи соціальної інженерії (не будемо вдаватися в деталі), Ірен отримала деяку інсайдерську інформацію від Яна.
Зокрема, Ірен дізналася про кілька трійок (a_i, b_i, c_i), що означає, що в майбутньому рейтингу університет b_i знаходиться між університетами a_i і c_i. Тобто або a_i йде перед b_i, який йде перед c_i, або навпаки. Усі трійки, надані Яном, не суперечливі — припустимо, що реальний рейтинг їх усіх задовольняє.
Щоб розпочати роботу над першим начерком майбутньої статті, Ірен необхідно побачити хоча б приблизний варіант реального рейтингу. Вона попросила вас знайти варіант рейтингу, в якому буде задоволено хоча б половину трійок, відомих Ірен.
У першому рядку записані цілі числа і (3 \le n \le 10^5, 1 \le m \le 10^5), що означають кількість університетів у рейтингу та кількість трійок, які Ян надав Ірен.
Кожен з наступних рядків містить три різних цілі числа (1 \le a_i, b_i, c_i \le n) — університети, що утворюють трійку.
Виведіть запропонований рейтинг від першого університету до останнього. Запропонований рейтинг повинен задовольняти не менше трійкам. Якщо таких варіантів декілька, виведіть будь-який з них.
У прикладі перші дві трійки виконуються, а остання — ні. Отже, принаймні половина всіх трійок задоволена.
Приклад 1