#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e3+ 5,MOD=1e9+7;
long long n,dp[MaxN][MaxN];
char a[MaxN][MaxN];
void add(long long &a, long long b)
{
    a+=b;
    if(a>=MOD) a-=MOD;
}
void input()
{
    cin >> n;
    for (long long i=1; i<=n; i++)
    {
        for (long long j=1; j<=n; j++)
        {
            cin >> a[i][j];
        }
    }
}
void solve()
{
    if(a[1][1]=='*')
    {
        cout << 0;
        return ;
    }
    for (long long i=1; i<=n; i++)
    {
        for (long long j=1; j<=n; j++)
        {
            dp[i][j]=0;
        }
    }
    dp[1][1]=1;
    for (long long i=1; i<=n; i++)
    {
        for (long long j=1; j<=n; j++)
        {
            if(i==1&&j==1) continue;
            if(a[i][j]=='.')
            {
                add(dp[i][j],dp[i-1][j]);
                add(dp[i][j],dp[i][j-1]);
            }
        }
    }
    cout << dp[n][n];
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    input();
    solve();
}
