#include <bits/stdc++.h>
using namespace std;
int k;
long long pa, pb, pc, ib, dp[1005][1005], ans;
long long po(long long b, long long p) {
  long long re = 1;
  while (p) {
    if (p % 2) re = re * b % 1000000007;
    b = b * b % 1000000007;
    p /= 2;
  }
  return re;
}
int main() {
  scanf("%d%lld%lld", &k, &pa, &pb);
  pc = po(pa + pb, 1000000007 - 2);
  pa = pa * pc % 1000000007;
  pb = pb * pc % 1000000007;
  ib = po(pb, 1000000007 - 2);
  dp[0][1] = 1;
  for (int i = 0; i < k; i++)
    for (int j = 1; j <= k; j++) {
      if (j == k)
        ans = (ans + (pa * (i + j + 1) % 1000000007 + 1000000007 -
                      pa * pa % 1000000007 * (i + j) % 1000000007) %
                         1000000007 * ib % 1000000007 * dp[i][j]) %
              1000000007;
      else
        dp[i][j + 1] = (dp[i][j + 1] + dp[i][j] * pa % 1000000007) % 1000000007;
      if (i + j >= k)
        ans = (ans + dp[i][j] * pb % 1000000007 * (i + j % 1000000007)) %
              1000000007;
      else
        dp[i + j][j] = (dp[i + j][j] + dp[i][j] * pb % 1000000007) % 1000000007;
    }
  printf("%lld\n", ans);
  return 0;
}
