#include <bits/stdc++.h>
using namespace std;
constexpr long long MOD = (long long)1e9 + 7;
long long fexp(long long a, long long n) {
  a %= MOD;
  if (n == 0) return 1;
  long long ret = fexp(a * a % MOD, n / 2);
  if (n % 2 == 1) ret = ret * a % MOD;
  return ret;
}
long long blub(long long pa, long long pb) {
  return pa * fexp((pa + pb) % MOD, MOD - 2) % MOD;
}
int main() {
  long long k, pa, pb;
  cin >> k >> pa >> pb;
  long long ppa = blub(pa, pb);
  long long ppb = blub(pb, pa);
  vector<vector<long long>> dp(k + 1, vector<long long>(k, 0));
  long long res = 0;
  dp[1][0] = 1;
  for (int i = 1; i < k; ++i) {
    for (int j = 0; j < k; ++j) {
      dp[i + 1][j] = (dp[i + 1][j] + dp[i][j] * ppa) % MOD;
      if (j + i < k)
        dp[i][j + i] = (dp[i][j + i] + dp[i][j] * ppb) % MOD;
      else {
        res = (res + (j + i) * dp[i][j] % MOD * ppb) % MOD;
      }
    }
  }
  for (int i = 0; i < k; ++i) {
    res = (res + ppb * dp[k][i] % MOD *
                     (ppa * fexp((1 - ppa) * (1 - ppa), MOD - 2) % MOD +
                      (i + k) * fexp(1 - ppa, MOD - 2) % MOD)) %
          MOD;
  }
  cout << (res % MOD + MOD) % MOD << endl;
}
