3064 - Red Polyomino

给定一个N行N列的网格,其中有一些网格是'#',另外一些网格是’.'。

你需要把其中的K个'.'网格涂成红色,并且使得这些红色网格可以通过上下左右移动至任意其他红色网格。

求有多少种不同的染色方案

输入

输入第一行一个数字N

输入第二行一个数字K

接下来的N行,每行N个字符'.'或'#'。表示网格的状态

输出

输出仅一个数,即方案数

样例

输入

3
5
#.#
...
..#

输出

5

输入

2
2
#.
.#

输出

0

输入

8
8
........
........
........
........
........
........
........
........

输出

64678

提示

1 \leq N \leq 8 , k \leq N^2

来源

atcoder

时间限制 2 秒
内存限制 1024 MB
讨论 统计
上一题 下一题