毕业生的序列游戏
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

  对于三个给定的正整数k, PA, PB, 现在有一个序列构造算法: 在初始条件下,有一个空序列,之后每次你会在该序列的末尾添加一个字母'a'或'b',添加'a'的概率是PA/(PA+PB),添加'b'的概率是PB/(PA+PB)。当在该序列中有至少k个子序列为'ab'的时候,该构造算法结束。

    现在,你需要求出该算法所构造出来的序列中'ab'子序列的期望个数为多少。显然,该结果可以用P/Q来表示,其中P和Q互质,并且Q≠0,P和Q模数为1e9+7。你需要打印出(P/Q)mod(1e9+7)。

注意,子序列是可以不连续的。

输入描述:

第一行包含三个整数k,PA,PB(1≤k≤1000,1≤PA,PB≤1000000)。

输出描述:

输出一个整数
示例1

输入

复制
1 1 1

输出

复制
2