Permutation

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 1.0s
Memory limit: 64M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

These problems are from the atcoder DP contest, and were transferred onto DMOJ. All problem statements were made by several atcoder users. As there is no access to the test data, all data is randomly generated. If there are issues with the statement or data, please contact Rimuru or Ninjaclasher on slack.

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 \le i \le 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 \le N \le 3000
  • s is a string of length N-1
  • s consists of < and >.

Input Specification

The first line will contain the integer N.

The second line will contain the string s.

Output Specification

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

Note: Be sure to print the number modulo 10^9+7.

Sample Input 1

4
<><

Sample Output 1

5

Explanation For Sample 1

There are five permutations that satisfy the condition, as follows:

  • (1, 3, 2, 4)
  • (1, 4, 2, 3)
  • (2, 3, 1, 4)
  • (2, 4, 1, 3)
  • (3, 4, 1, 2)

Sample Input 2

5
<<<<

Sample Output 2

1

Explanation For Sample 2

There is one permutation that satisfies the condition, as follows:

  • (1, 2, 3, 4, 5)

Sample Input 3

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

Sample Output 3

217136290

Comments

There are no comments at the moment.