Let N be a positive integer. You are given a string s of length N - 1, consisting of `<` and `>`.

Find the number of permutations (p_1, p_2, \ldots, p_N) of (1, 2, \ldots, N) that satisfy the following condition, modulo 10^9 + 7:

* For each i (1 \leq i \leq N - 1), p_i < p_{i + 1} if the i-th character in s is `<`, and p_i > p_{i + 1} if the i-th character in s is `>`.

Constraints

* N is an integer.
* 2 \leq N \leq 3000
* s is a string of length N - 1.
* s consists of `<` and `>`.

Input

Input is given from Standard Input in the following format:


N
s


Output

Print the number of permutations that satisfy the condition, modulo 10^9 + 7.

Examples

Input

4
<><


Output

5


Input

5
<<<<


Output

1


Input

20
>>>><>>><>><>>><<>>


Output

217136290

import java.util.Scanner;

/**
 *
 * @author dannyyang
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int N=Integer.parseInt(input.nextLine());
        String word=input.nextLine();
        long dp[][]=new long[N+1][N+1];
        dp[N][0]=1;
        int count=1;
        long mod=1000000000+7;
        for(int i=N-1;i>=1;i--){
            long sum=0;
            
                
            if(word.charAt(i-1)=='<'){
                
                for(int j=count;j>=0;j--){
                    sum+=dp[i+1][j];
                    sum%=mod;
                    dp[i][j]=sum;
                   // System.out.print(dp[i][j]+" ");
                }
               // System.out.println();
            }
            else{
                for(int j=0;j<=count;j++){
                    dp[i][j]=sum;
                    sum+=dp[i+1][j];
                    sum%=mod;
                   // System.out.print(dp[i][j]+" ");
                }
              //  System.out.println();
            }
            count++;
            
        }
        long answer=0;
        for(int i=0;i<N;i++){
            answer+=dp[1][i];
            answer%=mod;
        }
        System.out.println(answer);
    }
    
}
