atcoder#AGC045C. [AGC045C] Range Set

[AGC045C] Range Set

题目描述

すぬけくんは長さ N N の文字列 x x を持っています. 最初,x x のすべての文字は 0 です.

すぬけくんは,以下の 2 2 種類の操作を好きな順序で好きな回数行うことができます.

  • x x の連続する A A 文字を選んで,それらをすべて 0 にする.
  • x x の連続する B B 文字を選んで,それらをすべて 1 にする.

すぬけくんが操作を終えたあとの x x としてありうるものが何通りあるかを求めてください. ただし答えは非常に大きくなることがあるので.109+7 10^9+7 で割ったあまりを求めてください.

输入格式

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

N N A A B B

输出格式

すぬけくんが操作を終えたあとの x x としてありうるものが何通りあるかを 109+7 10^9+7 で割ったあまりを出力せよ.

题目大意

题目描述

Snuke 君有长为 NN 的字符串 xx,最初 xx 的所有字符都是 00。Snuke 君可以按照任意顺序进行任意次数以下两种操作:

  • 选择 xx 中连续的长为 AA 的子串,将它们全部设为 00
  • 选择 xx 中连续的长为 BB 的子串,将它们全部设为 11

请计算操作结束后的可能达成的不同的 xx 的数量,对 109+710^9+7 取模。

输入格式

一行三个整数 NNAABB

输出格式

一行一个整数,表示你的答案。

4 2 3
11
10 7 2
533
1000 100 10
828178524

提示

制約

  • 1  N  5000 1\ \leq\ N\ \leq\ 5000
  • 1  A,B  N 1\ \leq\ A,B\ \leq\ N
  • 入力される値はすべて整数である.

Sample Explanation 1

例えば,x= x= 0011,1111 などはありえますが,x= x= 0110 はありえません.