There are tasks, which have to be done one by one. Some tasks must be done before others: there are precedence relations between tasks. Write a program that prints all possible ways to order the tasks according to the given precedences.
Input consists of a natural number , followed by a natural number , followed by different pairs , indicating that task must be done before task . Suppose that the tasks are numbered from 0 to .
Print, one per line and in lexicographic order, all the ways of sorting the tasks according to the given precedences. There will always be at least one solution.
Input
3 1 1 0
Output
1 0 2 1 2 0 2 1 0
Input
1 0
Output
0
Input
10 18 0 3 4 8 8 3 2 1 5 7 5 6 6 8 4 2 4 0 8 1 2 8 3 1 6 2 7 3 7 2 5 0 0 6 9 5
Output
4 9 5 0 6 7 2 8 3 1 4 9 5 0 7 6 2 8 3 1 4 9 5 7 0 6 2 8 3 1 9 4 5 0 6 7 2 8 3 1 9 4 5 0 7 6 2 8 3 1 9 4 5 7 0 6 2 8 3 1 9 5 4 0 6 7 2 8 3 1 9 5 4 0 7 6 2 8 3 1 9 5 4 7 0 6 2 8 3 1 9 5 7 4 0 6 2 8 3 1