도미노 타일

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

아드리안은 도미노 타일을 한 줄로 이어 붙여 배열을 만든다. 각 타일은 두 개의 칸으로 나뉘어 있으며, 각 칸에는 눈(점)의 개수가 적혀 있다. 타일은 뒤집어(회전해) 놓을 수 있다. 타일은 줄의 양쪽 끝에 계속 이어 붙이는데, 서로 맞닿는 두 칸의 눈 개수가 같도록 붙여야 한다.

아드리안은 nn개의 타일을 가지고 있다. 이 타일을 모두 사용하면 언제나 올바른 한 줄을 만들 수 있다. 완성된 줄의 맨 앞 칸에 적힌 눈 개수 pp와 맨 뒤 칸에 적힌 눈 개수 kk가 무엇인지 궁금하다.

입력

첫째 줄에 도미노 타일의 개수 nn (1n1061 \le n \le 10^6)이 주어진다. 이어지는 nn개의 줄에는 각각 두 정수 aia_i, bib_i (1ai,bi1091 \le a_i, b_i \le 10^9)가 주어진다. 이는 ii번째 타일의 왼쪽 칸과 오른쪽 칸에 적힌 눈 개수를 뜻한다.

출력

완성된 줄의 양 끝 눈 개수 ppkk를 한 줄에 출력한다. p<kp < k이면 ppkk 순서로, 그렇지 않으면 kkpp 순서로 출력한다(즉 더 작은 값을 먼저 출력한다). 만약 양 끝 값이 유일하게 정해지지 않아 답이 여러 가지라면 대신 문자열 'NIE'를 출력한다.