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
# T - Permutation
n = int(input())
s = input()
MOD = 10**9+7

# dp[i][j]:i番目まで決めたとき、i番目の数よりも大きい数がj個残っている場合の数。
dp = [[0 for _ in range(n)] for _ in range(n+1)]

# 今i-1番目の数より大きい数が3個残っているとする。
# s[i]=='<'のとき、i番目の数として、その3個すべてが使える。
# そうすると、i番目の数より大きい数が2個、1個、0個残っている場合に遷移する。
# つまり、i番目の数より大きい数がj個残っている場合には、
# i-1番目の数より大きい数がj+1,j+2...n-i+1個残っている場合から遷移する。
# s[i]=='>'のとき、i番目の数として、その3個を除いた数字が使える。
# そうすると、i+1番目の数より大きい数が3個、4個...n-i-1個残っている場合に遷移する。
# つまり、i番目の数より大きい数がj個残っている場合には、
# i-1番目の数より大きい数がj,j-1...0個残っている場合から遷移する。

# ただし、下記のプログラムでは計算量がO(n**3)になってしまう。
# kのループで累積和を使用することで、O(n**2)にできる。
#
# for i in range(n):
#   dp[1][i] = 1
# for i in range(2,n+1):
#   if s[i-2] == '<':
#     for j in range(n-i+1):
#       for k in range(j+1,n-i+2):
#         dp[i][j] += dp[i-1][k]
#         dp[i][j] %= MOD
#   else:
#     for j in range(n-i+1):
#       for k in range(j+1):
#         dp[i][j] += dp[i-1][k]
#         dp[i][j] %= MOD

for i in range(n):
  dp[1][i] = 1
for i in range(2,n+1):
  csum = [0 for _ in range(n-i+2)]
  csum[0] = dp[i-1][0]
  for k in range(1,n-i+2):
    csum[k] += csum[k-1]+dp[i-1][k]
  if s[i-2] == '<':
    for j in range(n-i+1):
      dp[i][j] += csum[n-i+1]-csum[j]
      dp[i][j] %= MOD
  else:
    for j in range(n-i+1):
      dp[i][j] += csum[j]
      dp[i][j] %= MOD
print(dp[n][0])