矩阵填数

时间限制:10s      空间限制:128MB

题目描述

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


输入格式

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


输出格式

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


样例输入

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

样例输出

24

提示


 
【数据规模与约定】
对于30%的数据,保证方案的总数不超过10000000
对于100%的数据,n<=50,保证方案的总数有限


题目来源

没有写明来源