Write a program that, given a directed graph with vertices (numbered from 0 to ) and arcs, prints the shortest way to go from 0 to .
Input consists of several cases. Every case begins with and . Follow pairs to indicate an arc from to . There are no repeated arcs nor of the kind . There is always a path between 0 and . You can assume and .
For every case, print the vertices of the shortest path between 0 and separated by spaces. If there is more than one shortest path, print the smallest in lexicographical order.
Input
10 11 8 2 0 1 4 0 1 4 3 9 4 6 6 9 0 8 2 9 0 7 7 3 2 2 1 0 0 1
Output
0 7 3 9 0 1