#include <bits/stdc++.h>
using namespace std;
const int N = 1050, mo = 1e9 + 7;
int fap(int a, int b) {
  int s = 1;
  while (b) {
    if (b & 1) s = 1ll * s * a % mo;
    b >>= 1, a = 1ll * a * a % mo;
  }
  return s;
}
int k, pa, pb, p, na, nb, f[N][N];
int dfs(int a, int s) {
  if (s >= k) return s;
  if (a >= k) return (1ll * pa * nb % mo + s + a) % mo;
  if (f[a][s] != -1) return f[a][s];
  f[a][s] = (1ll * pa * dfs(a + 1, s) + 1ll * pb * dfs(a, s + a)) % mo;
  return f[a][s];
}
int main() {
  cin >> k >> pa >> pb, p = fap(pa + pb, mo - 2);
  pa = 1ll * pa * p % mo, pb = 1ll * pb * p % mo, nb = fap(pb, mo - 2);
  memset(f, -1, sizeof(f));
  cout << dfs(1, 0);
  return 0;
}
