C1437 [CQOI2012]局部极小值

内存限制:256 MB 时间限制:1000 ms

题目描述

有一个 $n$ 行 $m$ 列的整数矩阵,其中 $1$ 到 $nm$ 之间的每个整数恰好出现一次。如果一个格子比所有相邻格子(相邻是指有公共边或公共顶点)都小,我们说这个格子是局部极小值。

给出所有局部极小值的位置,你的任务是判断有多少个可能的矩阵。

输入格式

输入第一行包含两个整数 $n$ 和 $m$($1 \le n \le 4, 1 \le m \le 7$),即行数和列数。以下 $n$ 行每行 $m$ 个字符,其中“X”表示局部极小值,“.”表示非局部极小值。

输出

输出仅一行,为可能的矩阵总数除以 $12345678$ 的余数。

样例

样例输入 1

3 2 X. .. .X

样例输出 1

60

提示