EduBrick

K. Сокровища

3000 мс · 256 МБ · всё или ничего

В коллекции nn бриллиантов, у каждого известен вес wiw_i и стоимость viv_i. Выберите набор, суммарный вес которого лежит в отрезке [L,R][L, R], а суммарная стоимость наибольшая. Выведите сам набор.

Ограничение n≤32n \le 32 и веса до 101310^{13} — это подпись под решением: ни рюкзак по весам, ни перебор 2n2^n не годятся.

Формат ввода

В первой строке nn, LL и RR (1≤n≤321 \le n \le 32, 1≤L≤R≤10151 \le L \le R \le 10^{15}). В каждой из следующих nn строк — вес и стоимость бриллианта (1≤wi,vi≤10131 \le w_i, v_i \le 10^{13}).

Формат вывода

В первой строке выведите kk — количество бриллиантов в подарке. Во второй строке выведите их номера в любом порядке.

Если составить подарок невозможно, выведите 0 в единственной строке. Если наборов несколько, выведите любой.

Примеры

ввод
3 6 8
3 10
7 3
8 2
вывод
3
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.