Description
如果你在一个方阵中取出n个数,且每行每列恰有一个,无论你的取法如何,所有被取出数的和都是一样的。那么我们把这个矩阵叫做AK方阵。
给出一个n*n的方阵,有一些位置已经填好了0~9的数,有一些位置尚未填好(用字符’-‘表示)。你需要在每一个’-’位置处填写一个非负整数(不一定要<=9)使得整个矩阵成为一个AK方阵,请你求出所有的填数方法有多少种?输出答案对1000000007取模的余数。
Input
输入n行,每行n个字符表示给出的方阵
Output
输出一行一个数表示所求答案
Sample Input
0----1--
--2-
---3
Sample Output
24Hint
【数据规模与约定】
对于30%的数据,保证方案的总数不超过10000000
对于100%的数据,n<=50,保证方案的总数有限