Takahashi and Aoki will play a game. They will repeatedly play it until one of them have N wins in total.

When they play the game once, Takahashi wins with probability A %, Aoki wins with probability B %, and the game ends in a draw (that is, nobody wins) with probability C %. Find the expected number of games that will be played, and print it as follows.

We can represent the expected value as P/Q with coprime integers P and Q. Print the integer R between 0 and 10^9+6 (inclusive) such that R \times Q \equiv P\pmod {10^9+7}. (Such an integer R always uniquely exists under the constraints of this problem.)

Constraints

* 1 \leq N \leq 100000
* 0 \leq A,B,C \leq 100
* 1 \leq A+B
* A+B+C=100
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


N A B C


Output

Print the expected number of games that will be played, in the manner specified in the statement.

Examples

Input

1 25 25 50


Output

2


Input

4 50 50 0


Output

312500008


Input

1 100 0 0


Output

1


Input

100000 31 41 28


Output

104136146
#include<iostream>
using namespace std;
long mod=1e9+7;
long power(long a,long b){return b?power(a*a%mod,b/2)*(b%2?a:1)%mod:1;}
long A,B,C,N;
long invc[2<<17];
long inv100[2<<17];
long AA[2<<17],BB[2<<17];
long F[2<<17],I[2<<17];
int main()
{
	cin>>N>>A>>B>>C;
	long ans=0;
	F[0]=1;
	for(int i=1;i<2<<17;i++)F[i]=F[i-1]*i%mod;
	I[(2<<17)-1]=power(F[(2<<17)-1],mod-2);
	for(int i=(2<<17)-1;i--;)I[i]=I[i+1]*(i+1)%mod;
	invc[0]=1;
	long AB=power(A+B,mod-2);
	inv100[0]=1;
	AA[0]=BB[0]=1;
	long I100=power(100,mod-2);
	for(int i=1;i<2<<17;i++)
	{
		invc[i]=invc[i-1]*100%mod*AB%mod;
		inv100[i]=inv100[i-1]*I100%mod;
		AA[i]=AA[i-1]*A%mod;
		BB[i]=BB[i-1]*B%mod;
	}
	for(long i=0;i<N;i++)
	{
		long k=i+N;
		ans=(ans+F[i+N-1]*I[N-1]%mod*I[i]%mod*AA[N]%mod*inv100[N]%mod*BB[i]%mod*inv100[i]%mod*k%mod*invc[k+1]%mod)%mod;
		ans=(ans+F[i+N-1]*I[N-1]%mod*I[i]%mod*BB[N]%mod*inv100[N]%mod*AA[i]%mod*inv100[i]%mod*k%mod*invc[k+1]%mod)%mod;
	}
	cout<<ans<<endl;
}
