В $$$n$$$ кластерах расположены сервера, на каждом из которых установлена одна и та же операционная система. В её ядре была найдена уязвимость, поэтому сервера нужно обновить на исправленную версию ядра. В $$$i$$$-м кластере расположено $$$x_i$$$ серверов. Обновление одного сервера занимает одну единицу времени. Сервера обновляются строго последовательно, поэтому их суммарное время обновления занимает $$$x_i$$$ единиц времени. Начатый процесс обновления в одном кластере нельзя прерывать до того, как все сервера в нём будут обновлены. Также нельзя выполнять обновление в двух кластерах одновременно. В каждом кластере под обновление было выделено окно времени $$$[a_i, a_i + x_i]$$$, эти окна могут пересекаться. Необходимо выбрать кластера, в которых провести обновление, чтобы на максимальном количестве серверов была установлена новая версия ядра.
В первой строке дано число кластеров $$$n \ (1 \leq n\leq 10^5)$$$. В каждой из $$$n$$$ следующих строк дана пара чисел $$$a_i$$$ и $$$x_i$$$, разделённая пробелом $$$(1 \leq a_i, x_i \leq 10^9)$$$.
В первой строке выходного файла нужно вывести максимальное суммарное количество серверов, на которых возможно обновить ядро. Во второй строке выходного файла нужно вывести разделённые пробелом номера кластеров, в которых следует обновить ядро. Кластера нумеруются с нуля. Их номера можно вывести в произвольном порядке.
4 1 4 4 11 8 5 12 5
11 1
4 1 4 4 11 8 3 12 5
12 3 2 0
2 1 1 2 1
2 1 0
| Name |
|---|


