output_description: Print the number of permutations that satisfy the condition, modulo 10^9 + 7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      s
attempt: n = int(input())
  S = input()
  p = 10**9 + 7
  DP = [[0 for j in range(n + 1)] for i in range(n + 1)]
  for i in range(2, n + 1):
      A = [0]
      for j in range(n):
          A.append(A[-1] + DP[i - 1][j])
      for j in range(n - i + 1):
          if S[i - 2] == "<":
              DP[i][j] = (A[n - (i - 1) + 1] - A[j + 1]) % p
          else:
              DP[i][j] = A[j + 1] % p
  print(DP[n][0])
  
problem_description: Statement
  
  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 `>`.
samples: [{"input": "4\n    <><", "output": "5\n    \n\nThere are five permutations that satisfy the condition, as follows:\n\n  * (1, 3, 2, 4)\n  * (1, 4, 2, 3)\n  * (2, 3, 1, 4)\n  * (2, 4, 1, 3)\n  * (3, 4, 1, 2)\n\n* * *"}, {"input": "5\n    <<<<", "output": "1\n    \n\nThere is one permutation that satisfies the condition, as follows:\n\n  * (1, 2, 3, 4, 5)\n\n* * *"}, {"input": "20\n    >>>><>>><>><>>><<>>", "output": "217136290\n    \n\nBe sure to print the number modulo 10^9 + 7."}]