考虑一个包含 $H$ 行 $W$ 列方格的矩形棋盘。每个单元格包含一个数字(0–9)或一个星号(“*”)。位于从上往下第 $i$ 行、从左往右第 $j$ 列的单元格记为 $(i, j)$。
在本题中,我们考虑子矩形。子矩形是一组形成矩形的单元格。更准确地说,如果存在四个整数 $t, b, \ell, r$,满足 $1 \le t \le b \le H$,$1 \le \ell \le r \le W$,且 $S = \{(i, j) \mid t \le i \le b \land \ell \le j \le r\}$,则称这组单元格 $S$ 为一个子矩形。如果一个子矩形中的每个单元格都包含数字,则称其为“仅含数字的子矩形”。仅含数字的子矩形的得分定义为该子矩形内所有单元格数字之和的平方。
你的任务是计算所有仅含数字的子矩形的得分之和。由于答案可能很大,请输出其对 $998\,244\,353$ 取模的结果。
输入格式
第一行包含两个整数 $H$ 和 $W$:棋盘的高度和宽度($1 \le H, W \le 2000$)。
接下来的 $H$ 行,每行包含 $W$ 个字符。其中 $A_{i,j}$ 是单元格 $(i, j)$ 中的字符,它要么是 0 到 9 之间的数字,要么是一个星号(“*”)。你可以假设至少存在一个仅含数字的子矩形。
输出格式
输出一行,包含一个整数:所有仅含数字的子矩形的得分之和对 $998\,244\,353$ 取模的结果。
样例
样例输入 1
2 2 44 9*
样例输出 1
346
样例输入 2
2 3 314 28*
样例输出 2
601
样例输入 3
4 6 314159 2*6535 *89793 238*4*
样例输出 3
37655
说明
在样例 1 中,共有五个仅含数字的子矩形,如下图所示。它们的得分之和为 $4^2 + 4^2 + 9^2 + (4 + 4)^2 + (4 + 9)^2 = 346$。