Walking Home
Bessie the cow is trying to walk from her favorite pasture back to her barn.
The pasture and farm are on an n * n grid, with her pasture in the top-left corner and the barn in the bottom-right corner. Bessie wants to get home as soon as possible, so she will only walk down and to the right. There are haybales in some locations that Bessie cannot walk through; she must walk around them.
Bessie is feeling a little tired today, so she wants to change the direction she walks at most k times.
How many distinct paths can Bessie walk from her favorite pasture to the barn? Two paths are distinct if Bessie walks in a square in one path but not in the other.
Input
The first line contains t (1 ≤ t ≤ 50) test cases. Each test case starts with a line containing n (2 ≤ n ≤ 50) and k (1 ≤ k ≤ 3).
The next n lines each contain a string of n characters. Each character is either "." if it is empty or H if it has a haybale. It is guaranteed the top-left and bottom-right corners of the farm will not contain haybales.
Output
Output t lines, the ith line containing the number of distinct paths Bessie can take in the i-th sub-test case.
Example
We'll denote Bessie's possible paths as strings of D's and R's, indicating that Bessie moved either down or right, respectively.
In the first sub-test case, Bessie's two possible walks are DDRR and RRDD.
In the second sub-test case, Bessie's four possible walks are DDRR, DRRD, RDDR and RRDD.
In the third sub-test case, Bessie's six possible walks are DDRR, DRDR, DRRD, RDDR, RDRD and RRDD.
In the fourth sub-test case, Bessie's two possible walks are DDRR and RRDD.
In the fifth and sixth sub-test cases, it is impossible for Bessie to walk back to the barn.
In the seventh sub-test case, Bessie's six possible walks are DDRDRR, DDRRDR, DDRRRD, RRDDDR, RRDDRD and RRDRDD.