#include <bits/stdc++.h>
using namespace std;
const long long N = 1005;
const long long mod = 1e9 + 7;
long long inv(long long n) {
  long long p = mod - 2;
  long long ans = 1;
  while (p) {
    if (p & 1) ans = (ans * n) % mod;
    n = (n * n) % mod;
    p >>= 1;
  }
  return ans;
}
long long dp[N][N], Pa, Pb, Pt;
long long solve(long long n, long long k) {
  if (n >= k) return (Pt + n - 1) % mod;
  if (dp[n][k] != -1) return dp[n][k];
  return dp[n][k] = (Pa * solve(n + 1, k) + Pb * (n + solve(n, k - n))) % mod;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long k, pa, pb;
  cin >> k >> pa >> pb;
  memset(dp, -1, sizeof(dp));
  Pa = (pa * inv(pa + pb)) % mod;
  Pb = (pb * inv(pa + pb)) % mod;
  Pt = ((pa + pb) * inv(pb)) % mod;
  cout << solve(1, k);
}
