Interval Cover

For this problem, you are given two things: a numeric
interval $[A,B]$, and a
list of other numeric intervals which, when combined, should
“cover” (overlap completely with) the interval $[A,B]$. In particular, you should
find a *minimal* set of the intervals needed for the
cover.

The input consists of up to $30$ 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 $1 \le 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}]$. All real numbers have at most $6$ digits after the decimal point.

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 1 1 1 1 |
1 2 impossible 3 0 1 2 1 0 |