#arc067c. [arc067_c]Grouping
[arc067_c]Grouping
问题描述
有个人,编号方便地为到。我们想要将他们分成若干组,满足以下两个条件:
-
每个组中的人数在到之间(包括和)。
-
记为恰好包含个人的组的数量。对于所有,都有或者。
找出满足条件的分组方式的数量。如果只有两种分组方式仅有一对人属于其中一种分组方式,则认为这两种方式是不同的。由于这种方式的数量可能非常大,输出结果时取模。
约束条件
输入
输入以以下格式从标准输入中给出:
输出
输出满足条件的分组方式的数量,取模。
示例输入 1
3 1 3 1 2
示例输出 1
4
有四种分组方式:
以下的分组方式不计入数量:。因为它仅满足第一个条件而不满足第二个条件。
示例输入 2
7 2 3 1 3
示例输出 2
105
在给定条件下,满足的分组方式有两种包含两个人的组和一种包含三个人的组的形式。共有种这样的方式。
示例输入 3
1000 1 1000 1 1000
示例输出 3
465231251
示例输入 4
10 3 4 2 5
示例输出 4
0
答案可能为。