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 "bits/stdc++.h"
using namespace std;
typedef long long ll;
const int INF = (1<<30);
const ll INFLL = (1ll<<60);
const ll MOD = (ll)(1e9+7);

#define l_ength size

void mul_mod(ll& a, ll b){
	a *= b;
	a %= MOD;
}

void add_mod(ll& a, ll b){
	a = (a<MOD)?a:(a-MOD);
	b = (b<MOD)?b:(b-MOD);
	a += b;
	a = (a<MOD)?a:(a-MOD);
}

ll rwpw(ll a, ll p){
	ll ret = 1ll;
	while(p){
		if(p%2){
			mul_mod(ret,a);
		}
		mul_mod(a,a);
		p /= 2;
	}
	return ret;
}

ll fc[225816],nv[225816];

ll comb(ll n, ll k){
	ll ret;
	ret = fc[n];
	mul_mod(ret,nv[k]);
	mul_mod(ret,nv[n-k]);
	return ret;
}

int main(void){
	ll n,i,t,a,an,b,bn,c,p,bs,ans=0ll;
	p = rwpw(100ll,MOD-2);
	cin >> n >> a >> b >> c;
	fc[0] = 1ll; nv[0] = 1ll;
	for(i=0; i<2*n; ++i){
		fc[i+1] = fc[i];
		mul_mod(fc[i+1],i+1);
		nv[i+1] = nv[i];
		mul_mod(nv[i+1],rwpw(i+1,MOD-2));
	}
	mul_mod(a,p); mul_mod(b,p); mul_mod(c,p);
	t = rwpw((a+b)%MOD,MOD-2);
	mul_mod(a,t); mul_mod(b,t);
	an = rwpw(a,n); bn = rwpw(b,n);
	for(i=n; i<n*2; ++i){
		bs = (t*i)%MOD;
		p = an; mul_mod(p,rwpw(b,i-n));
		mul_mod(p,comb(i-1,i-n));
		mul_mod(p,bs);
		add_mod(ans,p);
		p = bn; mul_mod(p,rwpw(a,i-n));
		mul_mod(p,comb(i-1,i-n));
		mul_mod(p,bs);
		add_mod(ans,p);
	}
	cout << ans << endl;
	return 0;
}
