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;

using ll = long long;


const int inf = (int) 1e9 + 7;


template<class T>
T sqr(T x)
{
	return x * x;
}


ll powmod(ll x, int y)
{
	return y ? (y & 1 ? x * powmod(x, y - 1) : sqr(powmod(x, y / 2))) % inf : 1;
}


ll mult(ll a, ll b)
{
	return (a * b) % inf;
}


void solve(istream &cin = std::cin, ostream &cout = std::cout)
{
	int n, a, b, c;

	cin >> n >> a >> c >> b;

	a = (a * powmod(100, inf - 2)) % inf;
	b = (b * powmod(100, inf - 2)) % inf;
	c = (c * powmod(100, inf - 2)) % inf;

	ll ans = 0, bc = 1;

	for (int i = 0; i < n; i++)
	{
		ll add = mult(mult(powmod(a, n), powmod(c, i)), mult(bc, n + i)) +
		         mult(mult(powmod(c, n), powmod(a, i)), mult(bc, n + i));
		add %= inf;

		ans += add * powmod(powmod(inf + 1 - b, (inf - 2)), i + n + 1);
		ans %= inf;

		bc *= n + i;
		bc %= inf;
		bc *= powmod(i + 1, inf - 2);
		bc %= inf;
	}

	cout << ans << endl;
}


int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	cout << fixed;

#ifdef LOCAL
	ifstream fin("../input.txt");

	solve(fin);

	cout << setprecision(4) << "clock: " << clock() / (double) CLOCKS_PER_SEC << endl;
#else
	cout << setprecision(20);

	solve();
#endif

	return 0;
}
