A. Retirement
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Juca dreams of retiring and spending the rest of his life peacefully. He calculated that he needs to have at least $$$R$$$ thousand reais. Juca has a variable income job, and at the end of each year, he receives a payment that varies from $$$1$$$ to $$$R$$$ thousand reais, with uniform probability.

If, after receiving his salary, his total income is $$$R$$$ thousand reais or more, he retires happily. Otherwise, he decides to adjust his income according to inflation:

  • Let $$$S$$$ be the balance of his account.
  • Let $$$a, b$$$ be two integers that satisfy $$$0 \leq a \lt b$$$, representing the level of inflation.
  • The new balance will be (floor(S * (1 - a / b))), where floor is the floor function, which returns the integer part of a positive real number. For example, if $$$S = 3, a=1,b=2$$$, the new balance would be floor($$$1.5$$$) = $$$1$$$.

Juca is curious to know the expected value of the number of years it will take for him to retire. It can be shown that the answer is a fraction $$$\frac{p}{q}$$$ with $$$gcd(p,q) = 1$$$. Print $$$p \cdot q^{-1} \mod (10^9 + 7)$$$.

Input

The input consists of three integers $$$R$$$, $$$a$$$, and $$$b$$$ in that order. It is guaranteed that $$$1 \leq R \leq 500$$$ and $$$0 \leq a \lt b \leq 1000 $$$.

Output

It can be shown that the answer is a fraction $$$\frac{p}{q}$$$ with $$$gcd(p,q) = 1$$$. Print $$$p \cdot q^{-1} \mod (10^9 + 7)$$$.

Examples
Input
1 0 1
Output
1
Input
2 1 2
Output
2
Input
500 1 2
Output
699460048
Input
500 0 1
Output
830988645
Note

"Reais" is Brazil's currency (BRL).