#include <bits/stdc++.h>
using namespace std;
const long long INF = 2e9 + 10;
const long long MOD = 1e9 + 7;
const long double EPS = 1e-9;
const long long N = 1e3 + 10;
long long pw(long long x, long long p) {
  if (p == 0) return 1;
  if (p % 2) return (x * pw(x, p - 1)) % MOD;
  long long ans = pw(x, p / 2);
  return ans * ans % MOD;
}
long long d[N][N];
int main() {
  int k, pa, push_back;
  cin >> k >> pa >> push_back;
  long long p1 = pw(pa + push_back, MOD - 2);
  long long pb1 = pw(push_back, MOD - 2);
  for (int i = k; i >= 0; i--)
    for (int j = k; j >= 0; j--)
      if (i + j >= k)
        d[i][j] = (i + j + pa * pb1) % MOD;
      else
        d[i][j] = (d[i][j + 1] * pa + d[i + j][j] * push_back) % MOD * p1 % MOD;
  cout << d[0][1];
}
