#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
const int N = 1005;
int k, pa, pb, a, b, ans;
int dp[N][N];
void add(int &x, int y) {
  x += y;
  (x >= mod) ? x -= mod : 0;
}
int quickpow(int x, int y) {
  int s = 1;
  for (; y; y >>= 1, x = 1ll * x * x % mod)
    if (y & 1) s = 1ll * s * x % mod;
  return s;
}
int main() {
  int i, j;
  scanf("%d%d%d", &k, &a, &b);
  pa = 1ll * a * quickpow(a + b, mod - 2) % mod;
  pb = 1ll * b * quickpow(a + b, mod - 2) % mod;
  dp[0][0] = 1;
  for (i = 0; i < k; i++)
    for (j = 0; j <= k; j++) {
      if (!dp[i][j]) continue;
      add(dp[i + 1][j], 1ll * dp[i][j] * pa % mod);
      if (i + j >= k) {
        add(ans, 1ll * dp[i][j] * pb % mod * quickpow(pa, mod - 2) % mod *
                     (i + j) % mod);
      } else {
        add(dp[i][j + i], 1ll * dp[i][j] * pb % mod);
      }
    }
  dp[0][0] = 1;
  j = (1ll * pa * quickpow(pb, mod - 2) % mod + k) % mod;
  for (i = 0; i < k; i++) {
    add(ans, 1ll * dp[k - 1][i] * (i + j) % mod);
  }
  printf("%d\n", ans);
  return 0;
}
