#AGC045C. [AGC045C] Range Set

[AGC045C] Range Set

配点 : 800800

問題文

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

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

  • xx の連続する AA 文字を選んで,それらをすべて 0 にする.
  • xx の連続する BB 文字を選んで,それらをすべて 1 にする.

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

制約

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

入力

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

NN AA BB

出力

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

4 2 3
11

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

10 7 2
533
1000 100 10
828178524