#ATagc045c. [AGC045C] Range Set

[AGC045C] Range Set

题目描述

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

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

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

输入格式

一行三个整数 NNAABB

输出格式

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

样例 1

输入

4 2 3

输出

11

样例 2

输入

10 7 2

输出

533

样例 3

输入

1000 100 10

输出

828178524

说明/提示

样例解释 #1

最终的 xx 可能是 00111111,但不可能是 0110

数据范围

  • 1N50001 \le N \le 5000
  • 1A,BN1 \le A, B \le N
  • 所有输入的值都是整数。