Ученые планируют набор продуктов для экспедиции на Марс. Планируется, что запас экспедиции будет состоять из n типов продуктов, пронумерованных целыми числами от 1 до n. У экспедиции будет k_i порций продуктов i-го типа. Продукт i-го типа должен быть использован на протяжении t_i дней после начала экспедиции, после чего портится. Если за t_i дней не все порции продукты i-го типа съедены, то все оставшиеся порции этого продукта уничтожаются.
В экспедицию планируют направить c участников. Каждый день участники экспедиции выбирают любые c имеющихся у них порций и съедают их. Разные участники экспедиции могут есть как одинаковые, так и различные типы продуктов.
Отдел планирования снабжения хочет понять, насколько избыточен набор продуктов, запланированный для экспедиции. Они хотят выяснить, какое максимальное различное количество типов продуктов участники экспедиции смогут полностью съесть в процессе экспедиции, не допустив уничтожения ни одной их порции продукта этого типа.
Требуется написать программу, которая по описанию продуктов и количеству участников экспедиции определяет максимальное количество типов продуктов, которые могут быть полностью съедены в процессе экспедиции.
В первой строке два целых числа n и c --- количество типов продуктов и количество участников экспедиции (1≤n≤2⋅105, 1≤c≤109).
В следующих n строках находится по два целых числа t_i, k_i --- время, за которое портятся продукты i-го типа, и количество порций продукта i-го типа (1≤t_i≤109, 1≤k_i≤1018).
Сначала выведите единственное целое число s (0≤s≤n) --- максимальное количество типов продуктов, которые могут быть полностью съедены в процессе экспедиции. В следующей строке выведите s целых чисел p_1,p_2,…,p_s (1≤p_i≤n, все p_i различны) --- номера типов продуктов.
Если существует несколько подходящих множеств типов продуктов максимального размера, выведите любое из них. Типы продуктов можно выводить в любом порядке.