#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long k, pa, pb, f[1005][1005];
void exgcd(long long a, long long b, long long &x, long long &y) {
  if (b == 0) {
    x = 1;
    y = 0;
  } else {
    exgcd(b, a % b, x, y);
    x -= y * (a / b);
    swap(x, y);
  }
}
long long inv(long long a) {
  long long x, y;
  exgcd(a, mod, x, y);
  return (x % mod + mod) % mod;
}
signed main() {
  scanf("%lld%lld%lld", &k, &pa, &pb);
  long long A = pa * inv(pa + pb) % mod;
  long long B = (1 - A + mod) % mod;
  long long C = pa * inv(pb) % mod;
  for (long long i = k; i >= 1; i--) {
    for (long long j = k; j >= 0; j--) {
      f[i][j] = i + j >= k ? (i + j + C) % mod
                           : (A * f[i + 1][j] + B * f[i][i + j]) % mod;
    }
  }
  printf("%lld\n", f[1][0]);
  return 0;
}
