#include <bits/stdc++.h>
using namespace std;
long long inv(long long x) {
  long long pwr[30];
  long long power[30];
  pwr[0] = x;
  power[0] = 1;
  long long cur = 1000000007 - 2;
  long long q = 1;
  for (int i = 1; i < 30; i++) {
    pwr[i] = pwr[i - 1] * pwr[i - 1];
    pwr[i] %= 1000000007;
    power[i] = power[i - 1] * 2;
  }
  for (int i = 29; i >= 0; i--) {
    if (cur >= power[i]) {
      cur -= power[i];
      q *= pwr[i];
      q %= 1000000007;
    }
  }
  return q;
}
int k;
long long pa, pb;
long long a, b;
long long DP[1010][1010];
long long ans, cur1, cur2;
int main() {
  cin >> k >> pa >> pb;
  a = pa * inv(pa + pb);
  a %= 1000000007;
  b = pb * inv(pa + pb);
  b %= 1000000007;
  DP[1][0] = 1;
  for (int i = 1; i <= k; i++) {
    for (int j = 0; j <= k; j++) {
      if (i > 0 && (i + j) <= k) DP[i][j] += DP[i - 1][j] * a;
      if (j >= i && j < k && i != 0) DP[i][j] += DP[i][j - i] * b;
      DP[i][j] %= 1000000007;
      if ((i + j) >= k) {
        cur1 = a * inv(b) + i + j;
        cur1 %= 1000000007;
        cur2 = DP[i][j] * cur1;
        ans += cur2;
        ans %= 1000000007;
      }
    }
  }
  cout << ans << endl;
}
