#include #include #include #define rep(i, n) for(int i = 0; i < n; i++) using namespace std; const int MOD = 1e9+7; int main() { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; string s; cin >> s; int ans = 0; const int jumps = sqrt(2*n)+1; vector dp(2*n+1, vector(jumps, 0)); dp[0][0] = 1; rep(i, n) { if (s[i] == '#') continue; rep(j, jumps) dp[i+1][j] = (dp[i+1][j] + dp[i][j]) % MOD; rep(j, jumps-1) dp[i+j+2][j+1] = (dp[i+j+2][j+1] + dp[i][j]) % MOD; } rep(i, n+1) rep(j, jumps) ans = (ans + dp[n+i][j]) % MOD; cout << ans << '\n'; }