题目背景
自从二年级起,xtq就热爱棋类游戏。
题目描述
xtq有一个1行,n+1列的棋盘,从左到右编号为0到n。初始时刻,在m位置有一颗棋子。
xtq会在接下来的时间里随机操作。具体地说,如果某一秒棋子不位于n,那么他将有prb的概率将棋子向左移动一格,1−prb的概率向右移动一格;否则,他必然将棋子向左移动一格。
现在xtq想问你,期望多少秒之后棋子能够到达0。由于答案可能很大,并且为了避免不必要的精度误差,你只需要给出答案对于109+7取模的结果即可(可以证明,答案必然是一个有理数)。
输入格式
一行四个正整数n,m,p,q。
其中,p,q表示prb=qp。
输出格式
一行,一个正整数,表示期望移动次数对109+7取模的结果。
提示
对于20%的数据,n≤4,1≤p≤q≤4而且保证答案在取模前是一个整数。
对于40%的数据,n≤300。
对于70%的数据,n≤1000000。
对于100%的数据,1≤m≤n≤109,1≤p≤q≤109并且p,q互质。
此外,在全部的数据点中,有30%的数据是满足prb=21的。
有理数对质数p取模定义如下:
设ba对p取模的结果为x,那么需要满足0≤x<p且a≡bx(modp)。
保证对于100%的数据,一定存在满足要求的x。