E. Лягушачьи бои
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Недавно великий комбинатор посетил лягушачьи бои и, поразившись несистемностью правил боёв, решил создать своё увлекательное зрелище, но подчинённое строгим правилам.

Итак, лягушек выставляют на поле, имеющее форму кольца, разделённого на m клеток. Клетки пронумерованы от 1 до m по кругу, после клетки номер m идёт клетка номер 1. i-я лягушка изначально может прыгнуть на ai клеток вперёд.

Лягушки ходят по очереди, начиная с лягушки с номером 1. На своём ходу i-я лягушка прыгает на клеток вперёд, сбрасывая с поля всех других лягушек на своём пути, в том числе и ту, которая находится в конечной клетке текущего прыжка. После этого её значение ai уменьшается на количество удалённых во время данного прыжка лягушек. Если ai становится равным нулю или отрицательным, то i-я лягушка не сможет прыгать в дальнейшем.

После того, как лягушка с номером 1 заканчивает свой ход, ходит лягушка с номером 2, затем лягушка с номером 3 и так далее. После того, как сходит лягушка с номером n, снова ходит лягушка с номером 1. Если лягушка с каким-то номером уже была сброшена с поля, то считается, что она всегда пропускает свой ход.

Великому комбинатору уже не терпится узнать, какие из лягушек в конце концов останутся на поле. Помогите ему узнать это.

Входные данные

В первой строке содержатся два числа n и m (1 ≤ n ≤ 100 000, 2 ≤ m ≤ 109, n ≤ m) — количество лягушек и размер поля соответственно.

В следующих n строках содержатся описания лягушек. Каждое описание состоит из двух чисел pi и ai (1 ≤ pi,  ai ≤ m) — номер клетки, на которой стоит лягушка, и изначальная длина её прыжка соответственно.

Гарантируется, что все значения pi различны.

Выходные данные

В первой строке выведите количество лягушек, которые всегда будут на поле.

В следующей строке выведите номера этих лягушек в любом порядке.

Примеры
Входные данные
3 5
2 1
5 3
4 3
Выходные данные
1
3
Входные данные
5 6
1 2
3 4
2 5
5 1
6 1
Выходные данные
2
1 4
Примечание

В первом примере первая лягушка прыгает на одну клетку и оказывается в клетке номер 3. Затем вторая прыгает на 3 клетки и также оказывается в клетке номер 3, удаляя при этом первую лягушку с поля. Величина следующего прыжка у неё теперь равна 2. Третья лягушка прыгает в клетку номер 2. Затем вторая лягушка прыгает в клетку 5. Третья догоняет её и удаляет с поля. На поле осталась только она.

Во втором примере первая лягушка прыгает на две клетки, удаляя с поля лягушек, стоящих на клетках 2 и 3. Величина её следующего прыжка при этом становится равной нулю. Затем прыгает четвёртая лягушка, удаляет с поля пятую и тоже останавливается. В итоге на поле остаются две лягушки.