#dpt. [dp_t]Permutation

[dp_t]Permutation

问题描述

NN为正整数。给定一个长度为N1N-1的字符串ss,该字符串由<>组成。

找到满足以下条件的排列(p1,p2,,pN)(p_1, p_2, \ldots, p_N) (1,2,,N)(1, 2, \ldots, N)的数量,对109+710^9 + 7取模:

  • 对于每个ii (1iN11 \leq i \leq N - 1),如果ss中的第ii个字符是<,则pi<pi+1p_i < p_{i+1};如果ss中的第ii个字符是>,则pi>pi+1p_i > p_{i+1}

约束条件

  • NN是一个整数。
  • 2N30002 \leq N \leq 3000
  • ss是一个长度为N1N-1的字符串。
  • ss<>组成。

输入

输入以以下格式从标准输入中给出:

NN

ss

输出

输出满足条件的排列的数量,对109+710^9 + 7取模。

示例输入1

4
<><

示例输出1

5

满足条件的五个排列如下:

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

示例输入2

5
<<<<

示例输出2

1

满足条件的一个排列如下:

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

示例输入3

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

示例输出3

217136290

注意要对结果取模109+710^9 + 7