C1191 [SCOI2011]地板

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

题目描述

lxhgww 的小名叫 "小 L " ,这是因为他总是很喜欢 L 型的东西。小 L 家的客厅是一个 $R \times C$ 的矩形,现在他想用 $L$ 型的地板来铺满整个客厅,客厅里有些位置有柱子,不能铺地板。现在小 L 想知道,用 L 型的地板铺满整个客厅有多少种不同的方案?

需要注意的是,如下图所示,L 型地板的两端长度可以任意变化,但不能长度为 $0$。铺设完成后,客厅里面所有没有柱子的地方都必须铺上地板,但同一个地方不能被铺多次。

0000.PNG

输入格式

输入的第一行包含两个整数,$R$ 和 $C$,表示客厅的大小。

接着是 $R$ 行,每行 $c$ 个字符。_表示对应的位置是空的,必须铺地板;*表示对应的位置有柱子,不能铺地板。

输出

输出一行,包含一个整数,表示铺满整个客厅的方案数。由于这个数可能很大,只需输出它除以 $20110520$ 的余数。

样例

样例输入 1

2 2 *_ __

样例输出 1

1

样例输入 2

3 3 ___ _*_ ___

样例输出 2

8

提示

对于第一,第二个测试点,$R \times C \le 25$。

对于第三,第四,第五个测试点,$R \times C \le 100$,且 $R=2$ 或 $C=2$。

对于第六到第十个测试点,$R \times C \le 100$。