Julia 正在组织一场有史以来规模最大的蟑螂赛跑。这是一项既有趣又充满异国情调的工作,其中最主要也是唯一的问题是在起点将蟑螂按正确的顺序排列。一旦完成,一切就听天由命了。已知蟑螂背上用粉笔写的数字可能包含前导零,最关键的是,起跑时蟑螂背上的数字必须构成一个递增序列。没人知道是谁制定了这个规则,也没人知道为什么要制定这个规则。总之,我们必须遵守。但不幸的是,粉笔字很容易擦掉,所以有些数字现在只剩下模糊的斑点。由于 Julia 是一位真正的专业人士,她不想破坏规则,因此她试图恢复那些被意外擦掉的数字。让我们计算所有可能的序列中,所有可能的蟑螂编号之和。
输入格式
第一行包含两个整数 $n$ 和 $m$,分别表示蟑螂的数量和数字的长度。接下来的 $n$ 行包含数字模式。每个模式由数字 '0' 到 '9' 和/或 '?' 符号组成。
$1 \le n, m \le 50$
输出格式
输出所有可能的序列中,所有可能的蟑螂编号之和,结果对 $10^9 + 7$ 取模。
样例
输入 1
2 2 ?? ??
输出 1
490050
输入 2
2 3 4?? ??2
输出 2
6403775
输入 3
4 1 0 ? 4 8
输出 3
42