어린 조니가 새 자동차를 갖게 되었다. 그는 마을을 돌아다니며 친구들을 방문하기로 했다. 친구가 무척 많았지만 조니는 친구 모두를 만나고 싶었다. 거리마다 친구가 한 명씩 살고 있었다. 여행을 가능한 한 짧게 만들 방법을 고민하던 조니는, 마을의 모든 거리를 정확히 한 번씩만 지나는 것이 가장 좋은 방법임을 곧 깨달았다. 당연히 그는 출발한 곳, 즉 부모님 집에서 여행을 마치고 싶어 한다.
마을의 거리에는 1부터 n까지의 정수 번호가 붙어 있으며, n<1995이다. 교차로에는 이와 별개로 1부터 m까지의 정수 번호가 붙어 있으며, m≤44이다. 마을의 모든 교차로는 서로 다른 번호를 가진다. 각 거리는 정확히 두 개의 교차로를 잇는데, 그 두 교차로가 같을 수도 있다. 같은 번호를 가진 거리는 없다. 만약 이러한 순회 경로가 여러 개라면, 지나간 거리 번호를 순서대로 나열한 수열이 사전순으로 가장 작은 것을 택한다.
모든 거리는 양방향이며, 마을의 어떤 거리에서든 다른 모든 거리로 갈 수 있다. 다만 거리는 매우 좁아서 한번 들어서면 도중에 차를 돌릴 수 없다. 조니가 사는 곳은 입력의 첫 번째 거리를 이루는 두 교차로 중 번호가 더 작은 교차로라고 가정한다.
조니가 원하는 순회 경로를 찾는 프로그램을 작성하라. 순회 경로가 존재하지 않으면 그에 해당하는 메시지를 출력한다.
입력은 여러 개의 블록으로 이루어지며, 각 블록은 하나의 마을을 나타낸다. 블록의 각 줄에는 세 정수 x, y, z가 주어진다. 여기서 x>0, y>0은 거리 번호 z가 잇는 두 교차로의 번호이다. 블록의 끝은 x=y=0인 줄로 표시된다. 입력의 끝에는 빈 블록, 즉 x=y=0인 줄이 하나 더 온다.
각 입력 블록에 대해 한 줄을 출력한다. 그 줄에는 조니가 지나가는 순서대로 순회 경로의 거리 번호들을 공백으로 구분하여 출력한다. 순회 경로를 찾을 수 없으면 그 줄에 Round trip does not exist. 라는 메시지를 대신 출력한다. 연속한 두 블록의 출력은 빈 줄 하나로 구분한다.