Здачі немає! 1
Ваня запізнюється на автобуси, які їдуть в ЛКШ. На жаль, йому недостатньо просто встигнути на автобус - по дорозі йому ще потрібно купити подарунок дівчині Каті, у якої скоро день народження. По дорозі йому зустрівся магазин, де він може придбати подарунок. Подарунок коштує c рублів. У Вані в гаманці є n куп'юр, але у продавця немає здачі, і тому Ваня повинен набрати потрібну суму без здачі. Більше того, у Вані дуже мало часу, гроші потрібно дістати якомога швидше, і тому Ваня хоче дати продавцю потрібну суму мінімальною кількістю куп'юр.
Допоможіть йому зробити це.
Вхідні дані
Перший рядок вхідного файлу містить три цілих невід'ємних числа: n, c та k (0 ≤ n ≤ 1000,0 ≤ c ≤ 1000, 1 ≤ k ≤ 1000000000). Далі йде n чисел a_1, a_2, ..., a_n (1 ≤ a_i ≤ 1000) - номінали куп'юр у тому порядку, як вони лежать у Вані в гаманці.
Вихідні дані
У перший рядок вихідного файлу виведіть одне число m - мінімальну кількість куп'юр, якими Ваня може набрати потрібну суму. У другий рядок виведіть m чисел - номери куп'юр, які повинен дати продавцю Ваня. Вані потрібно буде діставати куп'юри послідовно з гаманця, тому номери повинні бути виведені у зростаючому порядку.
Якщо набрати необхідну суму без здачі неможливо, то виведіть у вихідний файл одне число -1.
Вані без різниці, як набирати потрібну суму. Тому якщо є декілька розв'язків, то можете вивести довільний. Ваша програма може не звертати увагу на число k.
Примітка
У першому прикладі усі можливі варіанти розв'язку, відсортовані у лексикографічному порядку наступні:
1 2 (перша та друга куп'юри, тобто куп'юри номіналом 1 та 4)
2 5 (друга та п'ята куп'юри, тобто куп'юри номіналом 4 та 1)
3 4 (третя та четверта куп'юри, тобто куп'юри номіналом 2 та 3)
Ви можете вивести довільний з цих варіантів.