编程题
### 问题描述
农夫小齐有一块形状为 $N \times N$ 的田地,其中第 $i$ 行、第 $j$ 列的方格用 $(i,j)$ 表示,$1 \leq i,j \leq N$。他想在田地中种植甜玉米和苜蓿。为此,他需要安装一些特殊的喷水器。
一个甜玉米喷水器在方格 $(I,J)$ 会向左下方的所有方格喷水:即 $(i,j)$ 满足 $I \leq i$ 且 $j \leq J$。
一个苜蓿喷水器在方格 $(I,J)$ 会向右上方的所有方格喷水:即 $(i,j)$ 满足 $i \leq I$ 且 $J \leq j$。
一个被一个或多个甜玉米喷水器喷水的方格可以种植甜玉米;一个被一个或多个苜蓿喷水器喷水的方格可以种植苜蓿。但一个既被甜玉米喷水器喷水又被苜蓿喷水器喷水(或者都不被喷水)的方格无法种植任何作物。
帮助小齐确定在他的田地中安装喷水器的方法数,每个方格最多安装一个喷水器,以便每个方格都能种植庄稼(即只被一种类型的喷水器喷水)。
一些方格已经被毛茸茸的奶牛占据;这并不妨碍这些方格变得肥沃,但不能在这些方格中安装喷水器。
### 输入格式
第一行包含一个整数 $N$。
接下来的两行包含字符串 $A$ 和 $B$。每个字符串包含 $N$ 个字符,每个字符要么是 $W$(表示被毛茸茸的奶牛占据),要么是 $.$(表示方格未被占据)。
### 输出格式
输出安装喷水器的方法数对 $10^9+7$ 取模的余数。
### 样例输入
```
2
..
..
```
### 样例输出
```
28
```
### 评测数据规模
$1 \leq N \leq 2000$。