#include <bits/stdc++.h>
using namespace std;
const int Inf = (int)1e9 + 7;
const long long LongInf = (long long)1e18 + 7;
namespace {
const int N = 1007;
const int MOD = (int)1e9 + 7;
int k, pa, pb;
long long dp[N][N];
long long pw(long long x, int m) {
  if (m == 0) return 1;
  long long y = pw(x, m / 2);
  y = (y * y) % MOD;
  if (m % 2) y = (y * x) % MOD;
  return y;
}
long long inv(int x) { return pw(x, MOD - 2); }
void solve() {
  cin >> k >> pa >> pb;
  long long s = inv(pa + pb);
  pa = (pa * s) % MOD;
  pb = (pb * s) % MOD;
  long long res = 0;
  dp[1][0] = 1;
  long long rem = (pa * inv(pb)) % MOD;
  for (int i = 1; i <= k; i++) {
    for (int j = 0; j <= k; j++) {
      if (i + j >= k) {
        res += (dp[i][j] * (i + j + rem)) % MOD;
        res %= MOD;
      } else {
        (dp[i + 1][j] += (dp[i][j] * pa) % MOD) %= MOD;
        (dp[i][i + j] += (dp[i][j] * pb) % MOD) %= MOD;
      }
    }
  }
  cout << res << "\n";
}
}  // namespace
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cout.precision(9);
  cout << fixed;
  solve();
  return 0;
}
