AT_agc070_c [AGC070C] No Streak
Description
Alice と Bob はじゃんけんを $ N $ 回行いました。 $ 1 $ 回のじゃんけんの結果は「Alice の勝ち」「Bob の勝ち」「引き分け」のいずれかです。
以下の条件を満たす $ N $ 回のじゃんけんの結果は何通りありますか?答えを $ \bf{1000000007 = 10^9 + 7} $ で割った余りを求めてください。
- $ N $ 回のうち Alice が勝ったのは $ A $ 回、Bob が勝ったのは $ B $ 回だった。
- Alice が引き分けを挟まずに $ 2 $ 連続で勝つことはなかった。
- Bob が引き分けを挟まずに $ 2 $ 連続で勝つことはなかった。
- どの時点においても Alice の勝利数が Bob の勝利数を下回ることはなかった。形式的に説明すると、 $ 1 \leq i \leq N $ を満たす $ i $ 全てに対して、「じゃんけんが $ i $ 回終了した時点での Alice の勝利数」は「じゃんけんが $ i $ 回終了した時点での Bob の勝利数」以上だった。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A $ $ B $
Output Format
条件を満たす $ N $ 回のじゃんけんの結果の個数を $ 10^9 + 7 $ で割った余りを求めよ。
Explanation/Hint
### Sample Explanation 1
例えば、次の $ N $ 回のじゃんけんの結果は問題文の条件を満たします。
- $ 1 $ 回目のじゃんけんで Alice が勝つ。
- $ 2 $ 回目のじゃんけんで Bob が勝つ。
- $ 3 $ 回目のじゃんけんで Alice が勝つ。
- $ 4 $ 回目のじゃんけんで両者が引き分ける。
- $ 5 $ 回目のじゃんけんで Bob が勝つ。
一方、次の $ N $ 回のじゃんけんの結果は **問題文の条件を満たしません**。なぜならば、 $ 4 $ 回目のじゃんけんが終了した時点で Alice の勝利数 $ (= 1) $ が Bob の勝利数 $ (= 2) $ を下回っているからです。
- $ 1 $ 回目のじゃんけんで Alice が勝つ。
- $ 2 $ 回目のじゃんけんで Bob が勝つ。
- $ 3 $ 回目のじゃんけんで両者が引き分ける。
- $ 4 $ 回目のじゃんけんで Bob が勝つ。
- $ 5 $ 回目のじゃんけんで Alice が勝つ。
問題文の条件を満たす結果は全部で $ 5 $ 通りあります。
### Sample Explanation 2
個数を $ 10^9 + 7 $ で割った余りを求める点に注意してください。
### Constraints
- $ 2 \leq N \leq 2 \times 10^7 $
- $ 1 \leq B \leq A $
- $ A + B \leq N $
- $ N, A, B $ は整数