降维打击
题号:NC205234
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

txb总是嫉妒cygg英俊的脸庞。
“他为什么又帅又强!!!”,txb愤怒地说。
于是邪恶的txb决定对可怜的cygg实施降维打击。
                                ...
一个风和日丽的午后,cygg正在刻苦的刷题,
忽然间从窗外飘来了一块没有厚度的像纸片一样的漂浮物,
cygg感到好奇:“这是什...”
话还没说完,他就跌入了二维空间。
cygg惊奇的发现他竟然能在这片二维空间中存活!
这片二维空间比较奇特,由一个  的点阵组成。
这些点中有的点可以经过,而有的点却是二维空间中的黑洞!
初始时他正处于 点上,想要走出这个二维点阵。
由于他方向感失效,所以每次移动会等概率的往上下左右四个方向移动。
如果移动到了黑洞,那么他将掉入黑洞中永远无法重见光明!
如果他在 步以内能走出边界,那么他将达到逃逸速度逃出二维空间!
否则他就永远也出不去啦!
你能帮帮cygg计算出他移动 步以内能走出二维点阵的概率吗?
他初始所在的点一定不会是黑洞。
注:走出边界的定义是对于点 (x_i,y_i),满足

输入描述:

 行输入 )。
行每行输入 个 整数,代表黑洞,代表正常的点。

输出描述:

输出一个整数表示答案在下的值。
示例1

输入

复制
5 5 3 3 3
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0

输出

复制
421875003

说明

cygg有3/64的几率逃出二维空间。
示例2

输入

复制
3 3 2 2 1
0 0 0
0 0 0
0 0 0

输出

复制
0

说明

走到了边界上并不算出去
示例3

输入

复制
3 3 2 2 256
0 1 0
1 0 1
0 1 0

输出

复制
0

说明

掉入黑洞中将无法继续移动。