小 C 决定在他的花园里种出CCF 字样的图案,因此他想知道 C 和 F 两个字母各自有多少种种花的方案;不幸的是,花园中有一些土坑,这些位置无法种花,因此他希望你能帮助他解决这个问题。
花园可以看作有n*m个位置的网格图,从上到下分别为第1到第n行,从左到右分别为第1列到第m列,其中每个位置有可能是土坑,也有可能不是,可以用a[i,j]=1 表示第i行第j列这个位置有土坑,否则用a[i,j]=0表示这个位置没土坑。
一种种花方案被称为C-形的,如果存在x1,x2∈[1,n],以及y0,y1,y2∈[1,m],满足 x1+1<x2,并且y0<y1,y2≤m,使得第x1行的第y0到第y1列、第x2行的第y0到第y2列以及第y0列的第x1到第x2行都不为土坑,且只在上述这些位置上种花。
一种种花方案被称为F-形的,如果存在 x1,x2,x3∈[1,n],以及y0,y1,y2∈[1,m],满足x1+1<x2<x3,并且y0<y1,y2<=m,使得第x1行的第y0到第y1列、第x2行的第y0到第y2列以及第y0列的第x1到第x3行都不为土坑,且只在上述这些位置上种花。
样例一解释中给出了 C- 形和 F- 形种花方案的图案示例。
现在小 C 想知道,给定 n,m 以及表示每个位置是否为土坑的值{a[i,j]},C- 形和 F- 形种花方案分别有多少种可能?由于答案可能非常之大,你只需要输出其对 998244353 取模的结果即可,具体输出结果请看输出格式部分。