luogu#P5165. xtq的棋盘

xtq的棋盘

题目背景

自从二年级起,xtq就热爱棋类游戏。

题目描述

xtq有一个11行,n+1n+1列的棋盘,从左到右编号为00nn。初始时刻,在mm位置有一颗棋子。

xtq会在接下来的时间里随机操作。具体地说,如果某一秒棋子不位于nn,那么他将有prbprb的概率将棋子向左移动一格,1prb1-prb的概率向右移动一格;否则,他必然将棋子向左移动一格。

现在xtq想问你,期望多少秒之后棋子能够到达00。由于答案可能很大,并且为了避免不必要的精度误差,你只需要给出答案对于109+710^9+7取模的结果即可(可以证明,答案必然是一个有理数)。

输入格式

一行四个正整数n,m,p,qn,m,p,q

其中,p,qp,q表示prb=pqprb = \frac{p}{q}

输出格式

一行,一个正整数,表示期望移动次数对109+710^9+7取模的结果。

3 1 1 3
13

提示

对于20%20\%的数据,n4,1pq4n\le 4, 1\le p\le q\le 4而且保证答案在取模前是一个整数。

对于40%40\%的数据,n300n\le 300

对于70%70\%的数据,n1000000n\le 1000000

对于100%100\%的数据,1mn109,1pq1091\le m\le n\le 10^9, 1\le p\le q\le 10^9并且p,qp,q互质。

此外,在全部的数据点中,有30%30\%的数据是满足prb=12prb = \frac{1}{2}的。

有理数对质数pp取模定义如下:

ab\frac{a}{b}pp取模的结果为xx,那么需要满足0x<p0\le x<pabx(modp)a \equiv bx (mod p)

保证对于100%100\%的数据,一定存在满足要求的xx