Link to this code: https://cses.fi/paste/c61e42232199a420c33786/
# include "bits/stdc++.h"
using namespace std;
# define int long long

const int MOD = 1e9 + 7;

vector<vector<int>> dp, grid;

int bottomUp(int r, int c) {
  dp[r - 1][c - 1] = grid[r - 1][c - 1];
  for (int row = r - 1 ; row >= 0 ; row--) {
    for (int col = c - 1 ; col >= 0 ; col--) {
      if (!grid[row][col]) continue;
      dp[row][col] += dp[row + 1][col] + dp[row][col + 1];
      dp[row][col] %= MOD;
    }
  }
  return dp[0][0];
}

void solve() {
  int r, c; cin >> r;
  c = r;
  dp.resize(r + 1, vector<int>(c + 1, 0));
  grid.resize(r, vector<int>(c));
  for (int row = 0 ; row < r ; ++row) {
    for (int col = 0 ; col < c ; ++col) {
      char x; cin >> x;
      grid[row][col] = (x != '*');
    }
  }
  int res = bottomUp(r, c);
  cout << res << "\n";
  // for (auto &x: dp) {
  //   for (auto &y:x) cout << y << " ";cout << endl;
  // }
}

signed main() {
  solve();
  return 0;
}