#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <set>
#include <algorithm>
#include <cmath>

using namespace std;

const int dx[]={1, 0, -1, 0};
const int dy[]={0, 1, 0, -1};
const int MOD=10007;

int n, m;
char a[15][15];
bool bio[15][15];

int rec(int x, int y){
    if (x==n and y==m)
        return 1;

    int ret=0;

    bio[x][y]=true;
    for (int i=0; i<4; i++){
        int nx=x+dx[i], ny=y+dy[i];
        if (a[nx][ny]=='#' or bio[nx][ny])
            continue;

        ret=(ret+rec(nx, ny))%MOD;
    }

    bio[x][y]=false;
    return ret;
}

int main(){
    scanf("%d %d\n", &n, &m);
    for (int i=1; i<=n; i++)
        gets(a[i]+1);
    for (int i=0; i<=m+1; i++)
        a[0][i]=a[n+1][i]='#';
    for (int i=0; i<=n+1; i++)
        a[i][0]=a[i][m+1]='#';

    if (a[1][1]=='#'){
        printf("0\n");
        return 0;
    }

    printf("%d\n", rec(1, 1));
	return 0;
}
