Программа: числа по маске с делимостью на D
Условие
Назовём маской числа последовательность цифр, в которой также могут встречаться символы:
«?» — ровно одна произвольная цифра;
«*» — любая последовательность цифр произвольной длины, в том числе пустая.
Например, маске 12*4?5 соответствуют числа 12405 и 1277495, а числа 1245 (не хватает цифры на месте «?») и 12446 (не оканчивается на 5) — не соответствуют. Числа записываются в десятичной системе счисления без ведущих нулей.
Даны маска и натуральные числа D и L. Напишите программу, которая находит все натуральные числа, не превышающие L, соответствующие маске и делящиеся на D без остатка.
Входные данные: в первой строке — маска (от 1 до 12 символов: цифры и символы «?», «*»); во второй — числа D и L через пробел (1 ≤ D ≤ L ≤ 10^9, L / D ≤ 200 000). Гарантируется, что подходящих чисел не больше 100.
Выходные данные: для каждого найденного числа в порядке возрастания — отдельная строка из двух чисел через пробел: само число и частное от его деления на D. Если подходящих чисел нет, выведите одно число -1.
Пример.
Входные данные:
12*4?5
2025 10000000Выходные данные:
1249425 617
1253475 619