Автор: | ONTI | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 20 |
На складе канцелярских товаров хранится M различных пачек бумаги, в каждой из которых содержится Xi листов, причeм на складе хранится ровно по две пачки бумаги с одинаковым количеством листов. На склад поступил запрос о выдаче бумаги для печати итогового отчeта, содержащего ровно N листов. Напишите программу, которая поможет сотрудникам склада определить, смогут ли они выдать ровно столько бумаги, сколько необходимо для печати этого документа.
На вход программы сначала поступает число N , количество листов в итоговом отчeте (1 ≤ N ≤ 109), затем - число M (1 ≤ M ≤ 15) и далее M попарно различных чисел X1, X2, ..., XM (1 ≤ XI ≤ 109).
Сначала выведите K - количество пачек, которое придется передать со склада канцелярских товаров, если суммарно в этих пачках будет N листов бумаги. Далее выведите K чисел, задающих количество листов в каждой из пачек, которые требуется передать в отдел. Если решений несколько, выведите вариант, в котором придeтся передать минимальное количество пачек. Если таких вариантов несколько, выведите любой из них.
Если выдать бумагу со склада так, чтобы в отделе после печати документа не осталось лишней бумаг, то выведите одно число 0. Если же на складе канцелярских товаров не хватит бумаги для печати документа выведите одно число −1.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|