Задача №113275. Цифровая задача

Дано натуральное число x и множество десятичных цифр M . Требуется определить, какое минимальное количество слагаемых, состоящих только из цифр, лежащих в множестве M , необходимо, чтобы можно было получить сумму, равную x .

Входные данные

Ввод состоит из одного или нескольких блоков. В первой строке блока находится число x , состоящее не более чем из 1000 десятичных цифр, записанное без ведущих нулей. Во второй строке записано число | M | "— количество элементов множества M , а в третьей "— | M | различных десятичных цифр, разделённых пробелами, в порядке возрастания.

Ввод завершается числом 0 на месте числа x . Гарантируется, что общее количество цифр во всех числах x во всех блоках в одном тесте не превосходит 1000.

Выходные данные

Для каждого из блоков выведите в отдельной строке ответ на задачу. Если получить сумму, равную x , невозможно ни при каком числе слагаемых, выведите для соответствующего блока -1 .

Примечание

Тема котят, как водится, опять не раскрыта.

Примеры
Входные данные
17
3
2 3 9
12345
5
0 2 4 6 8
0
Выходные данные
4
-1
Сдать: для сдачи задач необходимо войти в систему