오일러 회로

시간 제한3초메모리 제한512 MB

문제

양방향 그래프가 주어진다. 어떤 정점에서 출발해 그래프의 모든 간선을 정확히 한 번씩 지나고 다시 출발 정점으로 돌아오는 경로를 오일러 회로라고 한다.

주어진 그래프에서 오일러 회로를 하나 찾아 방문한 정점의 순서대로 출력하라.

입력

첫째 줄에 정점의 수 $N$이 주어진다. ($1 \le N \le 1{,}000$)

다음 $N$개의 줄에는 인접 행렬이 주어진다. 그중 $i$번째 줄은 정점 $i$와 다른 정점 사이의 간선 개수를 나타낸다. 행렬의 각 값은 $0$ 이상 $10$ 이하의 정수이며, 두 정점 사이에 간선이 여러 개 있을 수 있다.

입력 그래프에는 양 끝점이 같은 간선은 없으며, 그래프는 연결되어 있다.

출력

오일러 회로가 존재하면, 방문하는 정점 번호를 공백으로 구분해 한 줄에 출력한다. 시작 정점은 어느 정점이어도 되며, 가능한 회로 중 아무거나 출력해도 된다.

오일러 회로가 존재하지 않으면 -1을 출력한다.