#Qua2408. 如果我们在余生相遇

如果我们在余生相遇

题目背景

大肥鸭最近迷上了刷抖音,他非常喜欢一首小甜歌《如果我们在余生相遇》,它的前几句歌词如下:

如果未来碰上伯乐

爱情碰上双鱼座

它们连在一起我会不会是幸福的

如果未来遇上伯乐

伴随流星雨做客

它们连在一起我会不会是幸运的

如果落霞捋上轻舟

孤独熬成一碗粥

都说年少不知少年愁

题目描述

大肥鸭来到了一个二维平面,这个二维平面共有 nnmm 列,总共有 n×mn\times m 个位置,每个位置上都有一个元素,用一个字符表示,大肥鸭发现这个这个二维平面有 55 种元素:

  • 未来,用 a 表示
  • 伯乐,用 b 表示
  • 爱情,用 c 表示
  • 双鱼座,用 d 表示
  • 星星,用 x 表示

定义一个位置 (x,y) (1xn,1ym)(x, y)\ (1\le x\le n, 1\le y \le m) 上面的元素为 cx,yc_{x, y},显然有 $c_{x, y} \in \{\texttt{a}, \texttt{b}, \texttt{c}, \texttt{d}, \texttt{x}\}$

定义四个位置 (x1,y1),(x2,y2),(x3,y3),(x4,y4)(x_1, y_1), (x_2, y_2), (x_3, y_3), (x_4, y_4) 是一个幸福四元组,当且仅当:

  1. 存在一个向量 $(\Delta x, \Delta y)(\Delta x \ge 0, \Delta y \ge 0)$,使得 $(x_2, y_2) = \lambda_1(\Delta x, \Delta y) + (x_1, y_1)$、$(x_3, y_3) = \lambda_2(\Delta x, \Delta y) + (x_2, y_2)$、$(x_4, y_4) = \lambda_3(\Delta x, \Delta y) + (x_3, y_3)$,且 λ1,λ2,λ3>0\lambda_1, \lambda_2, \lambda_3 > 0
  2. $\{c_{x_1, y_1}, c_{x_2, y_2}\} = \{\texttt{a}, \texttt{b}\}$,$\{c_{x_3, y_3}, c_{x_4, y_4}\} = \{\texttt{c}, \texttt{d}\}$

如果你没看懂,可以这么想象,一条射向第一象限的射线上依次经过的 4 个点,如果分别是这 4 种情况:

  • a, b, c, d
  • b, a, c, d
  • a, b, d, c
  • b, a, d, c

那我们就认为它是一个幸福四元组。

定义大肥鸭的幸福值是大肥鸭所处的二维平面的幸福二元组的个数,大肥鸭想知道自己的幸福值是多少,因为幸福值很大,请输入幸福值对 998244353998244353 取模的结果。

输入输出格式

输入格式

第一行两个整数 nnmm,代表二维平面的行和列。

接下来 nn 行,每行 mm 个字符,每个字符是 $\texttt{a,} \texttt{b,} \texttt{c,} \texttt{d,}\texttt{x}$ 中的一个。

输出格式

一行,一个整数,表示大肥鸭的幸福值对 998244353998244353 取模的结果。

输入输出样例

1 4
abcd
1
1 10
ababacdcdc
36

数据范围与约定

n,m300n, m\le 300

对于每个数据点:20s, 256MB