SZ#G8C32. 花束

提交4 通过1
通过率25%
时间限制2000ms
内存限制512MiB
    ID: 12050 传统题 2000ms 512MiB 尝试: 4 已通过: 1 难度: 普及 上传者: 标签>GESPGESP强化C++c++编程题组合数学组合数快速幂

题目描述

题目描述

小婷拥有 nn 种不同的花,每一种花都恰好有一枝。她准备从这些花中选择一枝或多枝,扎成一束花送给朋友。

小婷不喜欢数字 aabb。因此,她不会制作一束恰好包含 aa 枝花的花束,也不会制作一束恰好包含 bb 枝花的花束。除此之外,选择任意非空的花朵集合都可以构成一束合法花束。

两束花是否相同只由所选择的花的种类决定:如果存在某一种花只出现在其中一束里,那么这两束花就被认为是不同的。即使两束花的枝数相同,只要选择的花种不同,也属于不同方案。

请计算小婷能够制作多少种合法花束。答案可能很大,请输出其对 109+710^9+7 取模后的结果;如果不存在合法花束,输出 00

输入格式

输入一行,包含三个整数 n,a,bn,a,b

输出格式

输出一个整数,表示合法花束的种数对 109+710^9+7 取模后的结果。若不存在合法花束,输出 00

4 1 3
7

样例说明 #1

只能选择 22 枝或 44 枝花。选择 22 枝有 66 种方案,选择全部 44 枝有 11 种方案,共 77 种。

1000000000 141421 173205
34076506
5 2 3
11

样例说明 #3

合法花束只能包含 114455 枝花,对所有相应的选择方案求和即可。

数据范围与约定

2n1092\le n\le10^91a<bmin(n,2×105)1\le a<b\le\min(n,2\times10^5)。输入中的所有数均为整数。