
В государстве R есть только две действительно серьёзных проблемы: люди не самого высокого интеллектуального уровня и труднопроходимые проезжие части. У водителей маршрутных такси марки «Газель» в городе S обе эти проблемы слились в одну — инспекторов ГАИ. Так, водителей такси часто штрафует инспектор Баблалюбов за всевозможные мелочи вроде нерабочей фары, отсутствия аптечки или огнетушителя, а то и просто за превышение скорости. Хорошая сторона дела состоит в том, что водителям всегда удаётся договориться и отдавать штраф инспектору Баблалюбову прямо на месте. Причём суммы штрафа в результате продолжительных торгов могут быть самые разные.
Ещё одна проблема заключается в том, что алчный инспектор Баблалюбов не привык давать сдачу с этих штрафов, так что нужно стараться выплатить штраф без сдачи, иначе сдача останется инспектору на чай. Иными словами, задача водителя — набрать имеющимися купюрами минимальную сумму, не меньшую суммы штрафа. Теперь это ещё и ваша задача, потому что бортовой компьютер автомобилей марки «Газель» должен быть снабжён компьютерной программой, автоматизирующей процесс выдачи штрафов.
В первой строке входного файла через пробел записаны целые числа $$$p$$$ и $$$n$$$ ($$$0 \le p \le 10^5, 0 \le n \le 10^3$$$) — сумма штрафа и количество купюр, имеющихся в наличии у водителя. Во второй строке через пробел записаны номиналы купюр $$$q_i$$$, имеющихся у водителя ($$$1 \le q_i \le 10^6$$$).
В первой строке выходного файла должна быть записана сумма, отданная инспектору. Во второй строке выходного файла должны быть записаны номиналы купюр, которые следует отдать инспектору Баблалюбову. Если ответов несколько, следует вывести любой из них. Если выплатить штраф никак не удастся, в единственной строке выходного файла выведите $$$-1$$$.
15 8 20 10 5 5 3 2 1 1
15 2 3 10
9 6 2 3 3 3 5 5
9 3 3 3