#P4802. [ABC295Ex] E or m

[ABC295Ex] E or m

说明

开始你有一个全 $0$ 矩阵,你可以随意执行如下操作:

  • 选择任意一行,将其从最左端开始的连续一段染成 $1$。
  • 选择任意一列,将其从最上端开始的连续一段染成 $1$。

如果一个矩阵可以由此得到,那么这个矩阵被称为好的。

现在你有一个01?矩阵 $a$,你需要将所有?替换为01,问得到的矩阵中有多少个是好的。答案对 $998244353$ 取模。

输入格式

第一行两个整数 $n, m$。

接下来是一个 $n$ 行 $m$ 列的矩阵。

输出格式

一个整数表示答案。

样例

2 3
0?1
?1?
6

样例

5 3
101
010
101
010
101
0

样例

18 18
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
462237431

提示

$1\le n,m\le 18$。