Паша совсем недавно купил себе новый телефон jPager и начал вносить в него номера телефонов своих друзей. Каждый номер состоит ровно из n цифр.
Также у Паши есть число k и две последовательности длины n / k (n делится на k) a1, a2, ..., an / k и b1, b2, ..., bn / k. Разобьем телефонный номер на блоки длины k. Первый блок будет образован цифрами из телефонного номера, находящимися на позициях 1, 2,..., k, второй блок будет образован цифрами из телефонного номера, стоящими на позициях k + 1, k + 2, ..., 2·k и так далее. Паша считает телефонный номер хорошим, если i-й блок, представленный в виде целого числа, делится нацело на ai, и при этом этот блок не начинается с цифры bi.
Чтобы представить блок длины k в виде целого числа, выпишем его отдельно как последовательность c1, c2,...,ck. Теперь вычислим значение выражения c1·10k - 1 + c2·10k - 2 + ... + ck.
Паша просит вас посчитать количество хороших телефонных номеров длины n для данных k, ai и bi. Поскольку это число может быть большим, выведите остаток от деления его на 109 + 7.
Выходные данные
Выведите целое число — количество номеров длины n, являющихся, по мнению Паши, хорошими.
Примечание
В первом тестовом примере хорошими телефонными номерами являются 000000, 000098, 005600, 005698, 380000, 380098, 385600, 385698.