Джону необходимо выполнить n задач. К сожалению, задачи не являются независимыми, выполнение одной задачи возможно только в том случае, если другие задачи уже были выполнены.
Состоит из нескольких тестов. Каждый тест начинается со строки, содержащей два целых числа: количество задач n (1≤n≤100), пронумерованных от 1 до n и количество m отношений между задачами. Далее идут m строк с двумя целыми числами i и j, обозначающими тот факт, что задача i должна выполняться перед задачей j.
Тест для которого n=m=0 не обрабатывается и завершает входные данные.
Для каждого теста выведите строку с n целыми числами — список задач в возможном порядке их выполнения.