P24488 [AtCoder] E or m
提高+
题目描述

Problem Statement

We have a grid A with N rows and M columns. Initially, 0 is written on every square.
Let us perform the following operation.

  • For each integer i such that $1 \le i \le N$, in the i-th row, turn the digits in zero or more leftmost squares into 1.
  • For each integer j such that $1 \le j \le M$, in the j-th column, turn the digits in zero or more topmost squares into 1.

Let S be the set of grids that can be obtained in this way.
You are given a grid X with N rows and M columns consisting of 0, 1, and ?.
There are 2^q grids that can be obtained by replacing each ? with 0 or 1, where q is the number of ? in X. How many of them are in S?
This count can be enormous, so find it modulo 998244353.

Input

The input is given from Standard Input in the following format:
N M
$X_{1,1} X_{1,2} \dots X_{1,M}$
$X_{2,1} X_{2,2} \dots X_{2,M}$
$\vdots$
$X_{N,1} X_{N,2} \dots X_{N,M}$

Output

Print an integer representing the answer.

Constraints

  • N and M are integers.
  • $1 \le N,M \le 18$
  • X is a grid with N rows and M columns consisting of 0, 1, and ?.

Sample Input 1

2 3
0?1
?1?

Sample Output 1

6

The following six grids are in S.
011 011 001
010 011 110

001 011 011
111 110 111

Sample Input 2

5 3
101
010
101
010
101

Sample Output 2

0

X may have no ?, and the answer may be 0.

Sample Input 3

18 18
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????

Sample Output 3

462237431

Be sure to find the count modulo 998244353.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
2 3 0?1 ?1?
样例输出
6