#include <bits/stdc++.h>
using namespace std;
const long long maxn = 1e3 + 100;
const long long mod = 1e9 + 7;
const long long inf = 1e18;
long long k, aa, bb, a, b, ans, p, bp, bx, x, y, dp[maxn][maxn], t[maxn];
long long pw(long long pa, long long push_back) {
  if (push_back == 0) return 1;
  long long pc = pw(pa, push_back / 2);
  pc = (pc * pc) % mod;
  if (push_back % 2) pc = (pc * pa) % mod;
  return pc;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  cin >> k >> aa >> bb;
  a = (aa * pw(aa + bb, mod - 2)) % mod;
  b = (bb * pw(aa + bb, mod - 2)) % mod;
  bp = pw(b, mod - 2);
  bx = (bp * a) % mod;
  t[0] = 1;
  for (long long i = 1; i < maxn; i++) {
    t[i] = (t[i - 1] * a) % mod;
  }
  dp[0][0] = 1;
  x = 1;
  for (long long i = 0; i < k; i++) {
    for (long long j = 0; j < k; j++) {
      p = (dp[i][j] * b) % mod;
      y = 0;
      for (; i + j + x < k; x++) {
        dp[i + j + x][j + x] = (dp[i + j + x][j + x] + p * t[y]) % mod;
        y++;
      }
      ans = (ans + ((t[y] * dp[i][j]) % mod) * (bx + i + j + x)) % mod;
      x = 0;
    }
  }
  cout << ans;
  return 0;
}
