#abc156d. D - Bouquet

D - Bouquet

Score : 400400 points

问题陈述

Akari 有 nn 种不同种类的花,每种各有一朵。

她打算从这些花中选择一个或多个来制作一束花束。

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

Akari 可以做出多少种不同的花束呢?

请在 (109+7)(10^9 + 7) 模下求出花束的不同组合数。

这里,如果两束花中存在一朵花被用在其中一束花束中但未被用在另一束中,则认为这两束花束是不同的。

以上为通义千问 qwen-max 翻译,仅供参考。

Problem Statement

Akari has nn kinds of flowers, one of each kind.

She is going to choose one or more of these flowers to make a bouquet.

However, she hates two numbers aa and bb, so the number of flowers in the bouquet cannot be aa or bb.

How many different bouquets are there that Akari can make?

Find the count modulo (109+7)(10^9 + 7).

Here, two bouquets are considered different when there is a flower that is used in one of the bouquets but not in the other bouquet.

Constraints

  • All values in input are integers.
  • 2n1092 \leq n \leq 10^9
  • 1a<bmin(n,2×105)1 \leq a < b \leq \textrm{min}(n, 2 \times 10^5)

Input

Input is given from Standard Input in the following format:

nn aa bb

Output

Print the number of bouquets that Akari can make, modulo (109+7)(10^9 + 7). (If there are no such bouquets, print 0.)

Sample Input 1

4 1 3

Sample Output 1

7

In this case, Akari can choose 22 or 44 flowers to make the bouquet.

There are 66 ways to choose 22 out of the 44 flowers, and 11 way to choose 44, so there are a total of 77 different bouquets that Akari can make.

Sample Input 2

1000000000 141421 173205

Sample Output 2

34076506

Print the count modulo (109+7)(10^9 + 7).

update @ 2024/3/10 17:15:59