Оперативная память процесса — это последовательность байт, которые пронумерованы по порядку от 1 до n. Программа Поликарпа состоит из инструкций типа «memset», то есть операций заполнения ячеек памяти (байтов) на отрезке некоторым значением. Подробнее, его программа исключительно состоит из m инструкций вида «set13 a_i l_i». Инструкция i заполняет непрерывный участок памяти длины li, начинающийся с ячейки номер ai, (то есть ячейки с номерами ai, ai + 1, ..., ai + li - 1) значениями 13.
Задача оптимизатора программы Поликарпа — выбросить максимальное количество инструкций из его программы так, чтобы оставшиеся инструкции установили значение 13 в тех и только тех байтах памяти, что и программа до оптимизации. Ваша задача — реализовать оптимизатор такой программы.
Выходные данные
В первую строку выведите искомое максимальное количество инструкций, которые можно удалить из программы. Во вторую строку выведите номера инструкций. Инструкции нумеруются от 1 до m в порядке их появления во входных данных. Если решений несколько, выведите любое.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
10 4 3 3 3 1 4 1 9 2
|
2
2 3
|
|
2
|
1 1 1 1
|
0
|