Find the lexicographically smallest directed tour that starts and ends at city 1 and visits every other city exactly once.
Hard8GraphBacktrackingDFSNo attempts yetTime limit10sMemory limit512 MBKing Karl is a responsible and diligent ruler. Every year he travels across his country to check that all cities are doing well.
There are n cities and m roads in his country. To control the travelers, every road is one way: a road from city a to city b cannot be used to go from b to a.

Karl wants to travel along the roads so that he starts in the capital, visits every non capital city exactly once, and finishes in the capital again.
As the transport minister, you have to find such a route, or determine that no such route exists.
The first line contains two integers n and m (2≤n≤100000, 0≤m≤n+20), the number of cities and the number of roads.
Each of the next m lines contains two integers ai and bi (1≤ai,bi≤n), meaning that there is a one way road from city ai to city bi. Cities are numbered from 1 to n, and the capital is city 1. The same road may be given several times, and a road with ai=bi may be given as well.
If a route exists that starts in the capital, passes through every non capital city exactly once and finishes in the capital, print the n+1 city numbers of the route on one line, separated by single spaces. Print the capital both at the beginning and at the end of the route. If several such routes exist, compare the n+1 numbers from the front and print the lexicographically smallest one.
If there is no such route, print There is no route, Karl! on one line.