#abc156d. [abc156_d]Bouquet

[abc156_d]Bouquet

问题陈述

Akari有nn种花,每种有一朵。

她打算从这些花中选择一朵或多朵来做花束。

然而,她讨厌两个数字aabb,所以花束中的花的数量不能是aabb

Akari能做多少个不同的花束?

计算结果对(109+7)(10^9 + 7)取模。

这里,当有一朵花在其中一个花束中使用但不在另一个花束中使用时,两个花束被认为是不同的。

约束条件

  • 输入中的所有值都是整数。
  • 2n1092 \leq n \leq 10^9
  • 1a<bmin(n,2×105)1 \leq a < b \leq \textrm{min}(n, 2 \times 10^5)

输入

输入以以下格式从标准输入中给出:

nn aa bb

输出

打印出Akari可以制作的花束数量,对(109+7)(10^9 + 7)取模。(如果没有这样的花束,则打印0。)

示例输入 1

4 1 3

示例输出 1

7

在这种情况下,Akari可以选择22朵或44朵花来制作花束。

44朵花中选择22朵有66种方法,而选择44朵只有11种方法,所以Akari一共可以制作出77个不同的花束。

示例输入 2

1000000000 141421 173205

示例输出 2

34076506

计算结果对(109+7)(10^9 + 7)取模。