- Time limit: 1.00 s
- Memory limit: 512 MB
Your task is to create an n \times n grid whose each row and column has exactly one A and B. Some of the characters have already been placed. In how many ways can you complete the grid?
Input
The first input line has an integer n: the size of the grid.
After this, there are n lines that describe the grid. Each line has n characters: .
means an empty square, and A
and B
show the characters already placed.
You can assume that every row and column has at most one A and B.
Output
Print one integer: the number of ways modulo 10^9+7.
Constraints
- 2 \le n \le 500
Example
Input:
5 ..... ..AB. ..... B.... ...A.
Output:
16