Mirko, the mad plumber, was hired to construct a water supply network between two locations in a city. The city map can be represented as an grid. Some cells are not suitable for placing water pipes. Locations Mirko needs to connect are placed directly above the top left cell of the grid, and directly below the bottom right cell.
Each suitable cell Mirko can either leave empty or use it for placing one of the following pipe types:
Find the number of ways that pipes can be placed to connect the two locations with a continuous pipe (water must not be spilled). All placed pipe parts must be in use.
Output the solution modulo .
Input Specification
The first line of input contains the integers and , the number of rows and columns of the city grid, respectively. Each of the next lines contains exactly characters: .
if the cell is suitable for placing pipes, and #
if not.
Output Specification
The first and only line of output must contain the required number of ways modulo .
Sample Input 1
2 3
...
.#.
Sample Output 1
1
Explanation for Sample Output 1
This is the only possible solution:
Sample Input 2
3 3
...
...
...
Sample Output 2
12
Comments