P7523 Cytoid
题目背景

众所周知,尽管很菜,但 colazcy 仍然很喜欢玩 Cytus。
题目描述
一天,colazcy 又在越级打谱。不到一分钟,colazcy 把手机一摔,骂道:“什么垃圾铺面!” 于是他准备在 Cytoid 上面做一个自制铺恶心别人。
colazcy 准备上一波劲爆 $m$ 押,共有 $n$ 排。也就是说,他的铺面是一个 $n\times m$ 的矩阵,其中每一个位置可以是 Drag 也可以是 Click。colazcy 已经确定了其中一些位置应该是什么元素,但剩下的还没有确定。
但是 colazcy 发现,他铺面对应的矩形如果有一个子矩形中所有元素都是 Drag,那么玩家就可以一直按住糊过去。colazcy 定义一张铺面的简单度为这张铺面对应的矩形中全都是 Drag 的子矩形个数。
现在 colazcy 把他还未完成的铺面给了你,希望你告诉他:如果他等概率随机地把剩下没有决定的元素填成 Drag / Click,最终铺面简单度的期望是多少。不难观察到答案总是一个有理数,你只需要输出这个答案对 $998244353$ 取模的结果。如果你不知道如何将一个有理数对质数取模,可以参考 [有理数取模](https://www.luogu.com.cn/problem/P2613)。
输入格式
第一行两个正整数 $n,m$,分别代表矩阵的行数和列数。
接下来 $n$ 行,第 $i$ 行有一个长度为 $m$ 的字符串,其第 $j$ 位为 `o` 代表这个位置被确定为 Drag,为 `x` 代表其被确定为 Click,为 `?` 表示这个位置还没有确定。
输出格式
一行一个整数,代表简单度的期望对 $998244353$ 取模的结果。
说明/提示
### 样例解释
样例一:整个铺面已经确定,而简单度 = 全是 Drag 的子矩阵数目 = $5$。
样例二:只有一个位置没有确定:当这个位置填 Drag 时,简单度为 $9$;当这个位置填 Click 时,简单度为 $5$。则期望简单度为 $\dfrac{9+5}2=7$。
### 数据范围
对于全部数据,有 $1\le n,m\le 100$。
Subtask 1 (15 pts):保证没有尚未确定的元素(即输入没有 `?`)。
Subtask 2 (15 pts):保证尚未确定的元素个数 $\le 3$。
Subtask 3 (30 pts):保证 $n\le 30$。
Subtask 4 (40 pts):无特殊限制。