矩形斑点
时间限制: 1 秒
内存限制: 256 MB
输入: 标准输入
输出: 标准输出
很少有人知道,在乐高宇宙中有一个超级反派叫斑点。只是他没那么出名,因为他能够创造的不是漂亮的椭圆形“洞”,而只是无聊的矩形“洞”。
尽管如此,他像我们所知道的斑点一样,试图增加自己的力量。为此,他试图创造尽可能多的洞,彼此嵌套,然后通过得到的超级传送门吸收来自其他宇宙的大量对撞机的能量。
现在他有 $n$ 个矩形洞,位于同一平面。它们的边平行于坐标轴,并且这些洞可以移动和相互叠加;可以在其共同平面内旋转 $90^\circ$(即交换它们的高度和宽度)。确定最多可以组成多少个洞的序列,使得每一个后面的洞都嵌套在前一个洞中。我们认为尺寸为 $(h_1, w_1)$ 的洞可以嵌套在尺寸为 $(h_2, w_2)$ 的洞中,如果 $h_1 \le h_2$ 且 $w_1 \le w_2$。
输入格式
第一行包含一个整数 $n$ —— 要组成嵌套序列的矩形洞的数量($1 \le n \le 10^5$)。
接下来 $n$ 行,每行包含两个整数 $h_i$ 和 $w_i$ —— 第 $i$ 个洞的高度和宽度($1 \le h_i, w_i \le 10^9$)。
输出格式
第一行输出最大可以嵌套的洞的数量。
第二行输出这些洞的编号(从 $1$ 开始),按照从小到大的顺序排列。如果有多个合法答案,输出任意一个。
示例
示例 1
输入
5
1 1
3 2
2 5
4 1
3 5
输出
4
1 4 3 5
示例 2
输入
5
1 10
2 9
3 8
4 7
5 6
输出
1
1
备注
在示例中,可以将第四个矩形旋转 $90^\circ$,得到矩形序列,尺寸分别为 $(1,1)$,$(1,4)$,$(2,5)$ 和 $(3,5)$。不难看出,每个前面的矩形都可以嵌套到后面的矩形中,而无法得到更长的具有相同性质的序列。
