func_code_string: #include <bits/stdc++.h>   using namespace std;   char g[3010][3010];   long long dp[2][3010][3010];   int main() {     int n, m;     scanf( %d %d , &n, &m);     for (int i = 1; i < n + 1; i++) scanf( %s , g[i] + 1);     if (g[1][2] ==  . ) dp[0][1][2] = 1;     if (g[2][1] ==  . ) dp[1][2][1] = 1;     for (int i = 1; i < n + 1; i++)       for (int j = 1; j < m + 1; j++) {         if (g[i][j] ==  . ) {           for (int z = 0; z < 2; z++)             dp[z][i][j] =                 (dp[z][i][j] + dp[z][i - 1][j] + dp[z][i][j - 1]) % 1000000007LL;         }       }     printf( %lld n , (((dp[0][n - 1][m] * dp[1][n][m - 1] -                         dp[0][n][m - 1] * dp[1][n - 1][m]) %                        1000000007LL) +                       1000000007LL) %                          1000000007LL);     return 0;   }   