#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1005, mod = 1e9 + 7;
template <class T, class... Ts>
int add(T f) {
  return f;
}
template <class T, class... Ts>
int add(T f, Ts... ts) {
  return (f + add(ts...)) % mod;
}
template <class T, class... Ts>
int sub(T f) {
  return f;
}
template <class T, class... Ts>
int sub(T f, Ts... ts) {
  return (f - sub(ts...) + 1ll * mod * mod) % mod;
}
template <class T, class... Ts>
int mul(T f) {
  return f;
}
template <class T, class... Ts>
int mul(T f, Ts... ts) {
  return (1ll * f * mul(ts...)) % mod;
}
int binpow(ll n, ll k) {
  int ans = 1;
  while (k) {
    if (k & 1) ans = mul(ans, n);
    n = mul(n, n), k >>= 1;
  }
  return ans;
}
int inv(int x) { return binpow(x, mod - 2); }
int k, pa, pb;
int dp[N][N];
int solve(int i, int j) {
  if (dp[i][j]) return dp[i][j];
  int p = mul(pa, inv(pa + pb));
  if (i + j >= k) return dp[i][j] = sub(i + j, mul(p, inv(p - 1)));
  return dp[i][j] =
             add(mul(solve(i + j, j), sub(1, p)), mul(solve(i, j + 1), p));
}
int32_t main() {
  cin.tie(0)->sync_with_stdio(0);
  cin >> k >> pa >> pb;
  cout << solve(0, 1);
}
