Деякі позитивні цілі числа можуть бути показані з властивістю під назвою розділення ланцюга. Щоб число було поділене на ланцюг на n , воно повинно відповідати трьом вимогам:
Кожна цифра ділить число, утворене n цифрами, що слідують за нею.
Наприклад, число 7143 ділиться на ланцюг на 2, оскільки 7 ділить 14, а 1 ділить 43. Це не ділиться на ланцюг на 3, оскільки 7 не ділить 143.
Кожна послідовність, що враховується для подільності, не повинна мати нульових нулів.
Наприклад, число 14208 не ділиться на ланцюг на 2, оскільки 08 має провідний нуль. Це, однак, ділиться ланцюгом на 3, тому що 208 не має провідного нуля.
Усі цифри числа повинні бути унікальними.
Наприклад, число 14280 є розділеним ланцюжком на 2, 3 і 4. Якщо моє пояснення поділу ланцюга незрозуміле, будь ласка, задайте питання в коментарях.
Вхідні дані
Вхід до програми складається з одного цілого числа n
, після якого пробіл, а потім число, яке має певні цифри, замінене підкресленнями. Наприклад, можливий вхід:
3 6__2__4508
n буде більше 1. Число ніколи не буде повністю підкреслено. Вам не гарантовано, що перша цифра не підкреслює. Перша цифра ніколи не буде 0. n ніколи не буде більшою або дорівнює кількості цифр у числі.
Вихідні дані
Виведіть число з цифрами, заміненими на цілі числа, таким чином, що отримане число ділиться ланцюжком на n . Якщо існує більше ніж один спосіб заповнити поділене на ланцюг число, будь-який може бути використаний як вихід. Якщо немає чисел, які можуть завершити його, виведіть no answer
. Наприклад, висновок прикладу вводу може бути:
6132794508
Це кодовий гольф, тому найкоротший код виграє.
n
більша або дорівнює кількості цифр у цьому числі, число є ланцюжком діленим?