#P404. 排列计数(二)

排列计数(二)

题目描述

给定一个长为 nn 的字符串 ss,ss 由 <,> 和 ? 构成。ss 应该看作是一部分排列的模板,匹配 ss 的排列需要满足以下条件:

    1. 排列由 00 到 nn 的整数组成,每个数字只出现一次,记作 a0,a1,⋯ ,ana_0,a_1,\cdots,a_n
    1. 若 sis_i 为 <,则要求 ai<ai+1a_i<a_{i+1}
    1. 若 sis_i 为 >,则要求 ai>ai+1a_i>a_{i+1}
    1. 若 sis_i 为 ?,则 aia_i 和 ai+1a_{i+1} 的大小关系任意

请计算,有多少种排列可以匹配 ss? 由于答案可能很大,输出方案数模 109+710^9+7 的余数。

输入格式

第一行:单个字符串,表示给定的模板,只有 <,> 和 ? 三种字符。

输出格式

输出共一行:单个整数,表示方案数模 109+710^9+7 的余数。

<<
1
<?
3

数据范围

设 ss 的长度为 nn,则有

  • 对于30%30\%的数据: 1≤n≤101\leq n \leq 10
  • 对于60%60\%的数据: 1≤n≤1001\leq n \leq 100
  • 对于100%100\%的数据: 1≤n≤10001\leq n \leq 1000