Ваш учитель знову дав вам складне домашнє завдання з математики, яке потрібно виконати вчасно.
Це завдання стосується операції ділення і передбачає практику ділення на невеликі числа. Вам потрібно визначити кількість невід'ємних чисел, що складаються рівно з цифр (провідні нулі дозволені), які задовольняють певним умовам подільності. Наприклад, якщо ви хочете знайти числа, що складаються з цифр, які діляться на , але не діляться на , то такими числами будуть: 06, 12, 18, 24, 36, 42, 48, 54, 66, 72, 78, 84 і .
Зверніть увагу, що нуль ділиться на будь-яке додатне число (див. третій приклад тесту).
Отже, ви вирішили написати програму, щоб автоматизувати виконання цього завдання, оскільки може бути дійсно великим.
Ваша програма буде протестована на одному або декількох тестах. Перший рядок вводу містить одне ціле число , кількість тестів (1 \le T \le 1000). Далі слідують рядків, кожен з яких представляє один тест і складається з цілого числа (1 \le N \le 10^{18}), яке є довжиною чисел, які вам потрібно порахувати (провідні нулі дозволені), за яким слідує пробіл і рядок з 6 цифр (кожна цифра — це '', '' або ''). -та цифра (найліва цифра — це цифра номер ) дорівнює '', якщо числа не повинні ділитися на , '', якщо числа повинні ділитися на , і '', якщо числа можуть ділитися або не ділитися на .
Для кожного тесту виведіть в окремому рядку одне ціле число — кількість чисел, які вам потрібно порахувати, як описано вище. Оскільки результат може бути дуже великим, виведіть його за модулем (10^9 + 7).
Приклад 1