atcoder#ARC067C. [ARC067E] Grouping

[ARC067E] Grouping

配点 : 600600

問題文

11 から NN までの番号のついた NN 人の人がいます。 以下の二つの条件を満たすように、彼らをいくつかのグループに分けたいです。

  • どのグループも、そのグループに含まれる人数が AA 人以上 BB 人以下である。
  • ちょうど ii 人の人が含まれるようなグループの数を FiF_i で表したとき、 すべての ii について、Fi=0F_i=0 または CFiDC \leq F_i \leq D が成り立っている。

このようなグループ分けが何通りあり得るか求めてください。 ただし、ある二つのグループ分けが異なるとは、二人の人の組であって、 片方のグループ分けでは同じグループに含まれ、他方では同じグループに含まれないようなものが存在することを意味します。 なお、答えは非常に大きくなることがあるので、109+710^9+7 で割った余りを出力してください。

制約

  • 1N1031 \leq N \leq 10^3
  • 1ABN1 \leq A \leq B \leq N
  • 1CDN1 \leq C \leq D \leq N

入力

入力は以下の形式で標準入力から与えられる。

NN AA BB CC DD

出力

あり得るグループ分けの個数を、109+710^9+7 で割った余りを出力せよ。

3 1 3 1 2
4

以下の 44 通りの分け方があります。

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

(1),(2),(3)(1),(2),(3) のような分け方は、一つ目の条件は満たしていますが、 二つ目の条件を満たしていないために数えられません。

7 2 3 1 3
105

22 人グループ、22 人グループ、33 人グループの三つに分ける以外に適切な分け方はありません。 そして、このような分け方は 105105 通りあります。

1000 1 1000 1 1000
465231251
10 3 4 2 5
0

答えが 00 になることもあり得ます。