#D0152. Permutation

Permutation

问题陈述

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

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

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

限制因素

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

输入

输入内容由标准输入法提供,格式如下:

  • NN
  • ss

输出

打印满足条件的排列数,模数为 109+710^9 + 7

4
<><
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)
5
<<<<
1

有一种排列满足条件,如下所示:

  • (1,2,3,4,5)(1, 2, 3, 4, 5)
20
>>>><>>><>><>>><<>>
217136290

请务必打印出 109+710^9 + 7 的模数。

来源

https://atcoder.jp/contests/dp/tasks/dp_t