Юля — организатор крупнейших в истории тараканьих бегов. В этой нетривиальной профессии главное — это грамотно выставить тараканов на старт, ну а дальнейшее уже будет в руках тараканьих богов. Известно, что номера, написанные мелом на спинках стартующих тараканов, могут иметь лидирующие нули и, что важно, номера тараканов на старте должны образовывать возрастающую последовательность. Неизвестно, кто и когда придумал это правило. Как бы то ни было, оно должно неукоснительно выполняться. Но вот незадача, мел кое-где стерся, вместо некоторых цифр остались только неясные пятна. Юля, как настоящий профессионал, пытается подобрать стёртые цифры так, чтобы не нарушить правило. Давайте же посчитаем сумму всех возможных номеров тараканов для всех возможных последовательностей.
В первой строке задано два целых числа $$$n$$$ и $$$m$$$ — количество тараканов в забеге и длина номера каждого из них. В следующих $$$n$$$ строках задано то, что осталось от номеров. Каждый номер составлен из символов от '0' до '9' и/или символа '?'.
$$$$$$1 \le n, m \le 50$$$$$$
Выведите сумму всех возможных номеров тараканов для всех возможных последовательностей по модулю $$$10^9+7$$$.
2 2 ?? ??
490050
2 3 4?? ??2
6403775
4 1 0 ? 4 8
42