# 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 |