#P5165. xtq的棋盘

xtq的棋盘

背景

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

题目描述

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

xtq会在接下来的时间里随机操作。具体地说,如果某一秒棋子不位于nn,那么他将有prbprb的概率将棋子向左移动一格,1−prb1-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\%的数据,n≤4,1≤p≤q≤4n\le 4, 1\le p\le q\le 4而且保证答案在取模前是一个整数。

对于40%40\%的数据,n≤300n\le 300。

对于70%70\%的数据,n≤1000000n\le 1000000。

对于100%100\%的数据,1≤m≤n≤109,1≤p≤q≤1091\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,那么需要满足0≤x<p0\le x<p且a≡bx(modp)a \equiv bx (mod p)。

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