Задача D. Теория цифр

Автор:Жюри ROI-2007   Ограничение времени:1 сек
Входной файл:digit.in   Ограничение памяти:256 Мб
Выходной файл:digit.out  
Максимальный балл:100  

Условие

Юный информатик стал исследовать, как изменяются суммы цифр натуральных чисел при умножении и делении на разные однозначные числа. Однажды он задался вопросом, можно ли восстановить число A, если нам известна сумма его цифр, а также сумма цифр числа DA, где D — заданное однозначное число. Довольно быстро он установил, что для восстановления числа А этой информации недостаточно. Так, например, у чисел 9 и 45 одинаковые суммы цифр. Если же их умножить на 5, то получим числа 45 и 225, которые тоже имеют одинаковые суммы цифр.

Тогда юный информатик стал искать ответ на поставленный вопрос при условии, что нам известно K — количество десятичных знаков в числе A. К сожалению, и тут его ждало разочарование. У некоторых чисел, имеющих одинаковое количество цифр и одинаковые суммы цифр, после умножения на один и тот же множитель эти суммы опять оказываются одинаковыми. Такими числами, например, являются 42 и 51 при D = 3.

И тогда юный информатик поставил перед собой такую задачу: найти наименьшее K-значное натуральное число A в десятичной системе счисления, которое имеет сумму цифр, равную S, а число DA имеет сумму цифр, равную P.

Требуется написать программу, решающую поставленную задачу.

Решения, корректно работающие при K ≤ 40, будут оцениваться, исходя из 80 баллов.

Формат входного файла

Во входном файле заданы четыре натуральных числа K, S, P, D(1 ≤ K ≤ 100, 1 ≤ S ≤ 9K, 1 ≤ P ≤ 9(K + 1), 1 ≤ D ≤ 9).

Формат выходного файла

Выведите в выходной файл число A, если оно существует, или  − 1, в противном случае. Число A не может начинаться с нуля.

Примеры тестов

Входной файл (digit.in) Выходной файл (digit.out)
1
2 9 9 5
18
2
2 8 10 3
-1

0.118s 0.007s 13