컨벤션 센터

시간 제한2초메모리 제한64 MB

문제

시루세리 정부가 새로운 컨벤션 센터를 건설하였다. 여러 단체가 회의를 열기 위해 이곳을 사용하고 싶어 한다. 한 단체가 컨벤션 센터를 사용하는 동안에는 다른 어떤 단체도 그 기간에 컨벤션 센터를 사용할 수 없다. 센터의 책임자는 가능한 한 많은 단체가 센터를 이용할 수 있도록 단체들을 선정하려고 한다. 물론 이러한 선정 방법은 여러 가지가 있을 수 있다.

예를 들어 네 단체가 각각 $[4, 9]$, $[9, 11]$, $[13, 19]$, $[10, 17]$ 기간 동안 센터를 사용하고 싶어 하는 경우를 생각해 보자(아래의 예제이다). 이 경우 최대 두 단체가 센터를 이용할 수 있으며, 후보는 ${1, 3}$, ${2, 3}$, ${1, 4}$이다. 한 단체의 끝나는 날짜와 다른 단체의 시작하는 날짜가 겹치면 두 단체는 함께 선정될 수 없음에 유의하라. 단체 1과 단체 2는 날짜 $9$를 함께 사용하므로 동시에 선정될 수 없다.

이처럼 최댓값을 이루는 선정 방법이 여러 가지일 때, 책임자는 다음 규칙으로 단체를 선정한다. 각 단체는 신청한 순서대로 번호가 매겨지고, 각 후보 집합은 단체 번호를 오름차순으로 나열하여 나타낸다. 이러한 후보 집합들 중 사전편집순으로 가장 앞서는 집합이 선정된다. 위 예에서 세 후보 집합 ${1, 3}$, ${2, 3}$, ${1, 4}$의 순서는 $(1, 3) < (1, 4) < (2, 3)$이므로, 가장 앞서는 ${1, 3}$, 즉 단체 1과 단체 3이 선정된다.

여러분이 할 일은 책임자를 도와 어떤 단체가 컨벤션 센터를 사용할지 정하는 것이다.

입력

첫째 줄에 컨벤션 센터를 사용하고 싶어 하는 단체의 수 $N$($N \le 200000$)이 정수로 주어진다.

이어지는 $N$개의 줄에는 단체 번호 순서대로 각 줄에 두 정수가 주어지며, 이는 각 단체가 센터를 사용하고 싶어 하는 시작 날짜와 끝 날짜를 뜻한다. 모든 시작 날짜는 $1$ 이상이고, 모든 끝 날짜는 $10^9$을 넘지 않는다.

출력

첫째 줄에 컨벤션 센터를 사용할 수 있는 단체의 최대 수 $M$을 출력한다. 둘째 줄에 사전편집순으로 가장 앞서는 선정 방법에 해당하는 $M$개의 단체 번호를 오름차순으로 출력한다.

힌트

두 리스트 $l_1$과 $l_2$에 대하여, $l_1$이 $l_2$의 접두사이거나, 두 리스트가 처음으로 달라지는 위치 $j$에서 $l_1[j] < l_2[j]$이면 $l_1$이 $l_2$보다 사전편집순으로 작다고 한다.