Единственное ограничение между простой и сложной версиями — ограничения.
Вам задано \(n\) отрезков на координатной оси \(OX\). Отрезки могут пересекаться, вкладываться или даже совпадать. \(i\)-й отрезок равен \([l_i; r_i]\) (\(l_i \le r_i\)) и покрывает все такие целочисленные точки \(j\), что \(l_i \le j \le r_i\).
Целочисленная точка называется плохой, если она покрыта строго больше, чем \(k\) отрезками.
Ваша задача — удалить минимальное количество отрезков таким образом, чтобы плохих точек не осталось вообще.
Выходные данные
В первой строке выведите одно целое число \(m\) (\(0 \le m \le n\)) — минимальное количество отрезков, которое надо удалить, чтобы не осталось плохих точек.
Во второй строке выведите \(m\) различных целых чисел \(p_1, p_2, \dots, p_m\) (\(1 \le p_i \le n\)) — индексы отрезков, которые вы удаляете, в любом порядке. Если существует несколько возможных ответов, вы можете вывести любой из них.
| № | Входные данные | Выходные данные |
|
1
|
7 2
11 11
9 11
7 8
8 9
7 8
9 11
7 9
|
3
4 6 7
|
|
2
|
5 1
29 30
30 30
29 29
28 30
30 30
|
3
1 4 5
|
|
3
|
6 1
2 3
3 3
2 3
2 2
2 3
2 3
|
4
1 3 5 6
|