#409. 吃火锅

吃火锅

题目描述

小Y非常喜欢吃火锅,这一天他找到了一个神奇的火锅店。

这个火锅店的特色是多宫格锅,锅的大小是 nnmm 列,代表它有 nmn \cdot m 个格子。

但不巧的是这一天小Y的桌子上的锅有一些格子坏掉了不能使用。

小Y又是个非常不小心的人,他捞东西时会把汤汁溅到一格的上下左右格中,这样会让口味很差,所以小Y不会在一个有锅底的格子的上下左右放锅底。

这家神奇的店有无限种锅底,所以小Y想知道他能有多少种放锅底的方案,请你帮他算出来这个方案数,这样吃货小Y可以更好的享用火锅。

小Y最多可以考虑 10000071000007 个方案,所以请输出方案数模 10000071000007

输入格式

第一行两个整数 nmn,m

接下来 nn 行,每行 mm 个整数(仅可能为 0011 ),若为 00 则代表这个格子坏掉了,反之则是完好的

输出格式

一个数,方案数

样例

input

2 3
1 1 1
0 1 0

output

9

数据范围与提示

1n,m121 \le n,m \le 12