#agc045c. [agc045_c]Range Set

[agc045_c]Range Set

問題文

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

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

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

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

制約

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

入力

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

NN AA BB

出力

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


入力例 1

4 2 3

出力例 1

11

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


入力例 2

10 7 2

出力例 2

533

入力例 3

1000 100 10

出力例 3

828178524