小紫的线段染色
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}在数轴上,一共有 n 条线段,小红已经将所有线段都染成了红色。小紫准备至少选择一条线段,将它们都染成紫色,并且使得不存在两个红色的线段相交,也不存在两个紫色的线段相交。
\hspace{15pt}小紫能成功吗?如果可以,请你帮小紫输出一个染色方案。

输入描述:

\hspace{15pt}第一行输入一个正整数 n \left(1 \leqq n \leqq 10^5\right),代表线段的数量。 
\hspace{15pt}此后 n 行,第 i 行输入两个正整数 l_i,r_i \left(1 \leqq l_i \leqq r_i \leqq 10^9\right) 代表第 i 条线段起点为 l_i,终点为 r_i

输出描述:

\hspace{15pt}如果不存在这样的染色方案,直接输出 -1

\hspace{15pt}否则,请参考下方的格式输出。
\hspace{15pt}在第一行上输出一个正整数 k,代表小紫染色的线段数量。
\hspace{15pt}在第二行输出 k 个两两不同的正整数 p_1, p_2, \dots, p_k \left(1 \leqq p_i \leqq n\right),其中,p_i 代表小紫将第 p_i 个线段染成紫色。
示例1

输入

复制
4
1 2
2 3
1 3
3 4

输出

复制
-1
示例2

输入

复制
4
1 2
2 3
3 4
4 5

输出

复制
2
1 3