#abc295h. [abc295_h]E or m
[abc295_h]E or m
問題文
行 列のグリッド があり、はじめ全てのマスに が書き込まれています。
ここに以下の操作を行います。
- を満たす各整数 に対して、 の 行目の左から 個以上のマスの数字を にする。
- を満たす各整数 に対して、 の 列目の上から 個以上のマスの数字を にする。
この手続きによって作ることのできる の集合を とします。
0
, 1
, ?
からなる 行 列のグリッド が与えられます。
?
を 0
か 1
に置き換えて得られるグリッドは に含まれる ?
の総数を とすると 個ありますが、このうち の要素であるものはいくつありますか?
答えは非常に大きくなる場合があるので、 で割った余りを求めてください。
制約
- は整数
- は
0
,1
,?
からなる 行 列のグリッド
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数として出力せよ。
入力例 1
2 3
0?1
?1?
出力例 1
6
条件を満たすグリッドは以下の つです。
011 011 001
010 011 110
001 011 011
111 110 111
入力例 2
5 3
101
010
101
010
101
出力例 2
0
に ?
が存在しない場合も、答えが である場合もあります。
入力例 3
18 18
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
??????????????????
出力例 3
462237431
答えを で割った余りを求めることに注意してください。