2496 - 方格路径
Description

给定一个由 n×nn×n 个方格组成的地图,. 表示可以通行,# 表示不可通行。保证左上角与右下角的地形一定是可以通行的。

有一个人从左上角出发,只能向下或向右走,目的地是右下角。到达后,他再返回左上角,且只能朝上或朝左走。

请问有多少种不同的行走路线,可以让他往返的路线没有交叉?

由于方案数很大,输出答案模 1,000,000,0071,000,000,007 的余数。


Input
  • 第一行:单个整数表示 nn

  • 第二行到第 nn 行:每行 nn 个字符表示一行的地形。


Output
  • 单个整数:表示答案。


Examples

Input

4
....
....
....
....

Output

20

Input

4
..##
...#
#...
##..

Output

0
Hint

30%数据,2\leq n \leq20

60%数据,2\leq n \leq200

100%数据,2\leq n \leq2000

题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 27
通过次数 12