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 ll MOD=1000000007;
ll inv[200100];
ll x, y;

ll extgcd ( ll a, ll b, ll &x, ll &y){ 
    ll d = a;
    if(b!=0){
        d = extgcd(b,a%b,y,x);
        y -=(a/b)*x;
    } else{
        x=1; y=0;
    }
    return d;    
}

void init(){
    for(ll i=1LL; i<200100; i++){
        extgcd(i,MOD,x,y);
        if(x <0) x+=MOD;
        inv[i] = x;
    }
}



ll modpow(ll x, ll n){
    if(n==0) return 1;
    ll res = modpow(x*x%MOD, n/2);
    if(n&1) res = res * x % MOD;
    return res;
}

int main(){
    init();
    ll N, A, B, C; cin >> N >> A >> B >> C;

    ll ans =0;

    ll numA = ( modpow(B,N)*modpow(inv[A+B],N)%MOD ) *N % MOD;
    ll sumA = numA;
    for(ll K=0LL; K<=N-2; K++){
        ll a0 = (N+K)*inv[K+1] %MOD;
        ll a1 = A * inv[A+B] %MOD;
        ll a2 = (N+K+1) * inv[N+K] %MOD;
        numA = ((numA * a0 )%MOD) * ( (a1*a2)%MOD ) %MOD;
        sumA +=numA; sumA %=MOD;
    }

    ll numB = ( modpow(A,N)*modpow(inv[A+B],N)%MOD ) *N % MOD;
    ll sumB = numB;
    for(ll K=0LL; K<=N-2; K++){
        ll a0 = (N+K)*inv[K+1] %MOD;
        ll a1 = B * inv[A+B] %MOD;
        ll a2 = (N+K+1) * inv[N+K] %MOD;
        numB = ((numB * a0 )%MOD) * ( (a1*a2)%MOD ) %MOD;
        sumB +=numB; sumB %=MOD;
    }

    cout << ( (sumA+sumB)*100 %MOD) *inv[100-C] %MOD << endl;


}