Начался новый семестр — а значит и ваши тренировки в киберспортивной сборной по Doka 3.
Сегодня вы впервые играете на герое по имени Мидас. Опытные сокомандники рассказали, что сила данного героя напрямую зависит от количества накопленного им золота.
Чтобы получать золото, вы должны побеждать монстров.
На карте мира расположено n монстров, с которыми вы можете сражаться в любом порядке. С каждым монстром можно сразиться только один раз.
Для i-го монстра известны две характеристики:
Изначально у вас 0 золота. Ваша цель на игру — накопить не менее w золота.
Найдите минимальное количество монстров, которых вам необходимо победить для достижения цели, а также номера монстров в порядке сражений с ними.
В первой строке содержится целое число w (1 ≤ w ≤ 109) — количество золота, являющееся вашей целью на игру.
Во второй строке содержится целое число n (1 ≤ n ≤ 105) — количество монстров, с которыми вы можете сразиться.
В каждой из следующих n строк содержится по два целых числа gi и bi (1 ≤ gi ≤ 109, 0 ≤ bi ≤ 109) — характеристики i-го монстра из условия задачи.
В первой строке выведите целое число k — минимальное количество сражений с монстрами, необходимое для достижения цели в w золота. Если вы никак не можете достичь цели — выведите - 1.
В случае успеха во второй строке выведите k чисел — номера монстров в том порядке, в котором вы должны сражаться с ними.
Считайте, что монстры занумерованы в порядке их упоминания во входных данных.
Если существует несколько вариантов ответа, приводящих к минимальному количеству сражений — выведите любой.
28
8
5 2
7 25
4 0
6 1
2 20
3 3
8 7
4 15
6
3 4 1 6 7 8
5
1
5 1
-1
Первый тестовый пример
Опишем последовательность сражений и заработанного золота.
Обратите внимание, что существуют и другие порядки / выборы монстров для сражений.
Второй тестовый пример
У вас 0 золота в начале, а единственный доступный монстр требует 1 золота для победы.
Вы не можете набрать w = 5 золота, значит необходимо вывести - 1.
| Название |
|---|


