#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int N = 1e3 + 7;
const ll mod = 1e9 + 7;
ll pow_mod(ll x, ll y) {
  ll res = 1ll;
  while (y) {
    if (y & 1) res = res * x % mod;
    x = x * x % mod;
    y >>= 1;
  }
  return res;
}
ll k, a, b, dp[N][N], inv, invb;
ll dfs(ll x, ll y) {
  if (~dp[x][y]) return dp[x][y];
  if (x + y >= k) return dp[x][y] = (x + y + a * invb) % mod;
  return dp[x][y] =
             (dfs(x + 1, y) * a % mod + dfs(x, x + y) * b % mod) * inv % mod;
}
int main() {
  cin >> k >> a >> b;
  inv = pow_mod(a + b, mod - 2);
  invb = pow_mod(b, mod - 2);
  memset(dp, -1, sizeof(dp));
  cout << dfs(1, 0);
}
