국경을 따라 순환 도로를 건설한 국가가 있다. 이 순환 도로에는 N 개의 위치에 버스 정류소가 있으며, 버스 정류소에는 0 부터 N-1 까지 번호가 시계방향 순서로 지정되어 있다.
현재 여러 개의 버스 노선들이 이 순환 도로에서 운행되고 있다.
각 버스 노선은 [a,b]로 표시된다. 이 노선의 버스는 버스 정류소 a부터 b까지를 시계방향으로, b부터 a까지는 반시계방향으로 운행한다. 순환 도로 상의 모든 정류소를 포함하는 버스 노선은 존재하지 않는다.
국가 교통행정부에서 비용 절감을 위해서 버스 노선 중 일부를 취소하려고 한다. 취소되는 노선은 다른 노선에 포함되어 있는 노선이다.
예를 들어, N = 10일 때, 5개의 버스 노선이 다음과 같이 있다고 하자.
[0, 4], [2, 6], [5, 0], [7, 9], [9, 4]
위 그림에서 버스 노선 ①은 ⑤에 포함되고, 버스 노선 ④는 ③에 포함된다. 버스 노선 ②, ③, ⑤를 포함하는 노선은 없다. 따라서 취소되는 버스 노선은 ①과 ④이다.
버스 노선에 대한 정보가 주어질 때, 취소되지 않고 계속 운행되는 버스 노선을 모두 출력하는 프로그램을 작성하시오.
수행 시간은 2초를 넘을 수 없다. 메모리 제한은 64MB이다.
입력 10 5 0 4 2 6 5 0 7 9 9 4 출력 2 3 5 입력 20 4 14 17 18 3 8 6 9 13 출력 3
출처: 제31회 한국정보올림피아드 전국본선 (2014.7.11) 고등부 문제 2대회 풀이