Interval Cover

Input

The input consists of several test cases. Each test case begins with two real numbers $A \le B$, indicating that $[A, B]$ is the interval to be covered. Then follows an integer $n \le 20\, 000$, giving the number of intervals available. After this follow $n$ lines, the $i$’th of which contains two real numbers $a_{i} \le b_{i}$, indicating that the $i$’th interval is $[a_{i}, b_{i}]$.

Output

For each test case, output one line containing the minimal number of intervals needed to cover $[A, B]$, followed by a line containing the indices of one such optimal covering (the first interval has index $0$, the second index $1$, and so on). The intervals can be given in any order.

If it is not possible to cover $[A, B]$ using the intervals, output a line containing the word “impossible” instead.

Sample Input 1 Sample Output 1
-0.5 1
3
-0.9 -0.1
-0.2 2
-0.7 1
0 1
3
0 0.25
0.25 0.75
0.75 0.999
0 1
3
0 0.25
0.25 0.75
0.75 1
1
2
impossible
3
0 1 2