Хороші доданки
Limits: 2 sec., 512 MiB
Зеник та Марічка вважають числа \(a, a+1, a+2, ..., b\) поганими.
Вони хочуть розкласти число \(n\) на довільну кількість натуральних доданків \([x_1, x_2, ..., x_k]\) таких, що \(x_1+x_2+\cdots+x_k=n\) та кожен доданок не є поганим. Допоможіть їм знайти кількість таких розкладів по модулю \(10^9+7\).
Зауважте, що порядок доданків має значення, тобто способи розкладу \([4, 7]\) та \([7, 4]\) є різними.
Input
У єдиному рядку задано три цілих числа \(n\), \(a\) та \(b\), описані в умові.
Output
У єдиному рядку виведіть одне ціле число — відповідь на задачу по модулю \(10^9+7\).
Constraints
\(1 \le n \le 3 \cdot 10^5\),
\(1 \le a \le b \le 3 \cdot 10^5\).
Samples
| Input (stdin) | Output (stdout) |
|---|---|
| 4 2 2 | 4 |
| Input (stdin) | Output (stdout) |
|---|---|
| 100 4 7 | 884915432 |
Notes
У першому прикладі Зеник та Марічка вважають число 2 поганим. Існує 4 різних розкладів, які не використовують це число: [1, 1, 1, 1], [1, 3], [3, 1], [4].
| Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
|---|