#3349. 矩阵填数

内存限制:128 MiB 时间限制:10 Sec

题目描述

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

输入格式

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

输出格式

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

样例

样例输入


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

样例输出


			
24

数据范围与提示



 

【数据规模与约定】

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

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