Джону потрібно виконати задач. На жаль, задачі залежать одна від одної, і виконати задачу можна лише після завершення інших задач.
Вхідні дані складаються з кількох тестів. Кожен тест починається з рядка, що містить два цілі числа: кількість задач (1 \le n \le 100), пронумерованих від до , та кількість залежностей між задачами. Далі йдуть рядків, кожен з яких містить два цілі числа та , що означають, що задача повинна бути виконана перед задачею .
Тест, для якого n = m = 0, не обробляється і завершує вхідні дані.
Для кожного тесту виведіть рядок з цілими числами — список задач у можливому порядку їх виконання.

Приклад 1