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