1번 도시에서 출발해 나머지 모든 도시를 정확히 한 번씩 거쳐 1번 도시로 돌아오는 사전 순으로 가장 작은 경로를 구합니다.
칼 왕은 책임감이 강하고 부지런한 통치자다. 해마다 나라 곳곳을 돌며 모든 도시가 잘 지내는지 직접 확인한다.
나라에는 도시가 nnn개, 도로가 mmm개 있다. 통행을 관리하려고 모든 도로는 일방통행으로 만들었다. 도시 aaa에서 도시 bbb로 가는 도로가 있어도 그 도로로 bbb에서 aaa로 갈 수는 없다.
칼은 수도에서 출발해 수도가 아닌 도시를 정확히 한 번씩 들르고 다시 수도로 돌아오는 경로를 따라 순시하려고 한다.
교통부 장관인 당신은 그런 경로를 찾아내거나, 그런 경로가 없다는 사실을 밝혀야 한다.
첫 줄에 도시의 수 nnn과 도로의 수 mmm이 주어진다. (2≤n≤100 0002 \le n \le 100\,0002≤n≤100000, 0≤m≤n+200 \le m \le n + 200≤m≤n+20)
다음 mmm개 줄에는 각각 정수 aia_iai와 bib_ibi가 주어진다. (1≤ai,bi≤n1 \le a_i, b_i \le n1≤ai,bi≤n) 도시 aia_iai에서 도시 bib_ibi로 가는 일방통행 도로가 있다는 뜻이다. 도시는 1번부터 nnn번까지 번호가 붙어 있고, 수도는 1번이다. 같은 도로가 여러 번 주어지기도 하고, ai=bia_i = b_iai=bi인 도로가 주어지기도 한다.
수도에서 출발해 수도가 아닌 도시를 정확히 한 번씩 지나 수도로 돌아오는 경로가 있으면, 경로에 나오는 도시 번호 n+1n+1n+1개를 공백으로 구분해 한 줄에 출력한다. 수도는 경로의 맨 앞과 맨 뒤에 모두 적는다. 그런 경로가 여럿이면 n+1n+1n+1개의 수를 앞에서부터 차례로 비교해 사전순으로 가장 작은 것을 출력한다.
그런 경로가 없으면 There is no route, Karl! 한 줄을 출력한다.
There is no route, Karl!