올해 어떤 프로그래밍 대회의 온라인 예선에 총 $n$개의 팀이 참가했다. 팀에는 $1$번부터 $n$번까지 번호가 붙어 있다. 놀랍게도 올해 참가한 팀들은 작년에 참가했던 팀들과 완전히 같다.
올해 예선 본부는 최종 순위를 공개하지 않기로 했다. 대신 작년과 비교했을 때 상대적인 순위가 뒤바뀐 팀들의 쌍만 발표한다. (작년에는 순위가 공개되었다.) 예를 들어 작년에는 팀 $13$이 팀 $6$보다 순위가 높았는데 올해는 팀 $6$이 팀 $13$보다 순위가 높다면, 쌍 $(6, 13)$이 발표된다.
이 정보만으로 올해 최종 순위를 복원하려고 한다. 작년 순위와 상대적인 순위가 바뀐 모든 팀 쌍의 목록이 주어졌을 때, 올해 순위를 계산하는 프로그램을 작성하여라. 단, 발표된 정보만으로는 올해 순위를 유일하게 확정할 수 없는 경우가 있을 수 있고, 정보 자체에 모순이 있어 어떤 순위로도 설명할 수 없는 경우도 있을 수 있다. 이 두 경우도 모두 판별해야 한다.
첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스의 개수는 $100$개를 넘지 않는다. 각 테스트 케이스는 다음과 같이 구성된다.
각 테스트 케이스마다 다음을 출력한다.
?를 출력한다. 정보에 모순이 있어 어떤 순위도 정할 수 없다면 대신 IMPOSSIBLE을 출력한다.