UOJ Logo 黑暗爆炸OJ

DARKBZOJ

#3349. 矩阵填数

统计 下载数据

Description

如果你在一个方阵中取出n个数,且每行每列恰有一个,无论你的取法如何,所有被取出数的和都是一样的。那么我们把这个矩阵叫做AK方阵。
给出一个n*n的方阵,有一些位置已经填好了0~9的数,有一些位置尚未填好(用字符’-‘表示)。你需要在每一个’-’位置处填写一个非负整数(不一定要<=9)使得整个矩阵成为一个AK方阵,请你求出所有的填数方法有多少种?输出答案对1000000007取模的余数。
 

Input

输入n行,每行n个字符表示给出的方阵
 

Output

输出一行一个数表示所求答案
 

Sample Input

0---
-1--
--2-
---3

Sample Output

24

Hint



 

【数据规模与约定】

对于30%的数据,保证方案的总数不超过10000000

对于100%的数据,n<=50,保证方案的总数有限

Source