嚣哥有一个 $N \times M$ 的平面,而部分的方格被挡住了。 他想把该平面全部以巧克力块覆盖,即每一个方格应被挡住或被巧克力块覆盖。 嚣哥有全国最大的巧克力工厂,有无限的 $1 \times 2$ 巧克力块,和 $K$ 个 $2 \times 2$ 巧克力块,当中 $(K \le 4)$ 。 嚣哥能旋转巧克力块的方向并覆盖在平面上,可是巧克力块间不能重叠,以及巧克力块不能放在被挡住的方格上。 请你替嚣哥找出有多少种覆盖平面的方法,由于数值可能太大,请取模 $10^9+7$ 。

输入格式

输入第一行是用一个空格隔开的三个整数 $ N, M, K $。
接下来 $ N $ 行,每行 $ M $ 个字符,描述了平面的情况。 字符 . 表示相应方格是没被挡住的方格,字符 # 表示相应方格被挡住了。 相邻字符之间无分隔符。

输出格式

输出一个非负整数表示答案对 $10^9+7$ 取模的结果。

数据范围

$ 1 \le N \le 30 , 1 \le M \le 15 , 0 \le K \le 4 $
测试点 $ 1-2: M=1 $
测试点 $ 3-5: M=2 $
测试点 $ 6-9: 1 \le N \times M \le 20 $
测试点 $ 10-12: $ 没有被挡住的方格 $, K=0 $
测试点 $ 13-14: K=0 $
测试点 $15-16: K=1 $
测试点 $17-18: 1 \le N \le 25 $
测试点 $19-20: 1 \le N \le 30 , 1 \le M \le 15 , 0 \le K \le 4$

Sample Test Cases

Input Output
5 3 1
#..
..#
#..
..#
..#
3

这是仅有的三种覆盖这个平面的方法:

其中,第一种方法使用了 $2 \times 2$ 的巧克力块。

3 5 4
...
...
...
...
...
0
可以证明,这个平面没有以巧克力块覆盖的方式。
Click to copy.

Scoring: Per Case
Authored by s17r28
Appeared in 2022 Mini Contest 2 (Pre-SDIC)