import java.util.*;
import java.io.*;
import java.math.*;

public class jeroen
{
	static long MOD = 1000000007;
	public static void main(String[] args) throws Exception
	{
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.valueOf(in.readLine());
		String w = in.readLine();
		long[][] dp = new long[n][500]; // 500 jumps exceeds 10^5
		for(int i = n - 1; i >= 0; i--) {
			for(int j = 0; j < 500; j++) {
				if(w.charAt(i) == '#') {
					dp[i][j] = 0;
					continue;
				}
				// Stay
				dp[i][j] = (i + 1 >= n) ? 1 : dp[i+1][j];
				// Jump
				if(j < 499)
					dp[i][j] += (i + j + 2 >= n) ? 1 : dp[i + j + 2][j+1];
				dp[i][j] %= MOD;
			}
		}
		System.out.println(dp[0][0]);
	}
}
