#include <bits/stdc++.h>
const int N = 1002, M = 1000000007;
int k, pa, pb, i, j;
long long f[N][N], A, B, C;
long long ksm(long long x, int p) {
  long long s = 1;
  while (p) {
    if (p & 1) s = s * x % M;
    p >>= 1;
    x = x * x % M;
  }
  return s;
}
long long inv(long long x) { return ksm(x, M - 2); }
void init() {
  scanf("%d%d%d", &k, &pa, &pb);
  A = pa * inv(pa + pb) % M;
  B = pb * inv(pa + pb) % M;
  C = A * inv(B) % M;
}
void work() {
  for (i = k; i >= 1; i--)
    for (j = k; j >= 0; j--)
      if (i + j >= k)
        f[i][j] = (i + j + C) % M;
      else
        f[i][j] = (A * f[i + 1][j] + B * f[i][i + j]) % M;
  printf("%lld", f[1][0]);
}
int main() {
  init();
  work();
  return 0;
}
