#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long k, pa, pb, dp[1005][1005], p1, p2;
long long ksm(long long a, long long b) {
  long long res = 1;
  while (b) {
    if (b & 1) res = a * res % mod;
    a = a * a % mod;
    b >>= 1;
  }
  return res;
}
long long dfs(long long a, long long b) {
  if (a + b >= k) return (a + b + pa * p2 % mod) % mod;
  if (dp[a][b]) return dp[a][b];
  dp[a][b] =
      (pa * dfs(a + 1, b) % mod + pb * dfs(a, b + a) % mod) % mod * p1 % mod;
  return dp[a][b];
}
signed main() {
  scanf("%lld%lld%lld", &k, &pa, &pb);
  p1 = ksm(pa + pb, mod - 2);
  p2 = ksm(pb, mod - 2);
  memset(dp, 0, sizeof(dp));
  printf("%lld\n", dfs(1, 0));
  return 0;
}
