Se battre pour la famille royale!
在公元四世纪的欧洲有两个帝国,一个在西北方向,另一个在东南方向,两个部落之间被一条河流隔开。这片土地是一个网格图,每片土地只能被任意一个帝国占有或者是河流。具体而言,使用数字 111 代表被第一个帝国占有的土地,使用数字 222 代表被第二个帝国占有的土地,数字 000 代表河流,河流不属于任何一个帝国的土地。这片土地被使用的规则如下:
给你一张只由数字 0,1,20,1,20,1,2 和 ? 组成的地图,? 代表不知道当前这片土地是什么,请你求出有多少种使用数字 0,1,20,1,20,1,2 填充所有 ? 的方法,满足这篇土地的使用规则。因为方案数可能很多,请在输出方案数量时对于 998244353998244353998244353 取模。
?
第一行,一个整数 t(1≤t≤104)t(1\le t\le 10^4)t(1≤t≤104),代表数据组数。
对于每组数据:
第一行,两个整数 n,m(1≤n,m≤4⋅104)n,m(1\le n,m\le 4\cdot 10^4)n,m(1≤n,m≤4⋅104),分别代表地图的长和宽。
接下来连续的 nnn 行,每行一个长度为 mmm 的字符串,字符串的每个字符 c∈{0,1,2,?}\red{c\in\{0,1,2,?\}}c∈{0,1,2,?},代表当前的地图。
保证同一测试点内的 n×m\red{n\times m}n×m 的总和不超过 4⋅1044\cdot 10^44⋅104。
对于每组数据,输出一行数字,代表合法填充当前地图中所有的 ? 的方案数,将结果对于 998244353998244353998244353 取模。
输入样例
6 1 1 ? 1 2 1? 3 3 11? ??? ?22 8 10 1111110002 1111000002 111?????22 111??????? 11???????2 ?????????? ????0?2222 0000222222 3 4 1102 1102 0022 2 2 ?? ??
输出样例
3 2 4 3100 0 11