#include<bits/stdc++.h>
using namespace std;
/// q * n ^ 2
#define int long long
const int N = 1e3 + 5;
int n , m , mod = 1e9 + 7;
char f[N][N];
int dp[N][N];
main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= m ; j++)
cin >> f[i][j];
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= m ; j++)
{
if(i == 1 && j == 1)
dp[i][j] = 1;
else if(f[i][j] != '#')
{
if(i - 1 >= 1) // ô (i-1,j) tồn tại
dp[i][j] = (dp[i][j] + dp[i - 1][j]) % mod;
if(j - 1 >= 1) // ô (i,j-1) tồn tại
dp[i][j] = (dp[i][j] + dp[i][j - 1]) % mod;
}
}
cout << dp[n][m];
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vLyBxICogbiBeIDIKI2RlZmluZSBpbnQgbG9uZyBsb25nCgpjb25zdCBpbnQgTiA9IDFlMyArIDU7CmludCBuICwgbSAsIG1vZCA9IDFlOSArIDc7CmNoYXIgZltOXVtOXTsKaW50IGRwW05dW05dOwoKCm1haW4oKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICBmb3IoaW50IGogPSAxIDsgaiA8PSBtIDsgaisrKQogICAgICAgICAgICBjaW4gPj4gZltpXVtqXTsKICAgICAgICAgICAgCgogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgIAlmb3IoaW50IGogPSAxIDsgaiA8PSBtIDsgaisrKQogICAgCXsKICAgIAkJaWYoaSA9PSAxICYmIGogPT0gMSkgCiAgICAJCQlkcFtpXVtqXSA9IDE7CiAgICAJCWVsc2UgaWYoZltpXVtqXSAhPSAnIycpCQogICAgCQl7CiAgICAJCQlpZihpIC0gMSA+PSAxKSAvLyDDtCAoaS0xLGopIHThu5NuIHThuqFpCiAgICAJCQkJZHBbaV1bal0gPSAoZHBbaV1bal0gKyBkcFtpIC0gMV1bal0pICUgbW9kOwogICAgCQkJaWYoaiAtIDEgPj0gMSkgLy8gw7QgKGksai0xKSB04buTbiB04bqhaQkKICAgIAkJCQlkcFtpXVtqXSA9IChkcFtpXVtqXSArIGRwW2ldW2ogLSAxXSkgJSBtb2Q7CiAgICAJCX0KICAgIAl9CiAgICBjb3V0IDw8IGRwW25dW21dOwp9