#include <bits/stdc++.h>
using namespace std;
const long double PI = acos(-1);
const long long MOD = 1e9 + 7;
bool debug = 1;
const int N = 1e3 + 10;
long long k, pa, push_back;
long long dp[N][N];
long long ipb, ipapb;
long long fp(long long base, long long exp) {
  if (exp == 0) return 1;
  if (exp == 1) return base;
  long long mid = fp(base, exp / 2);
  if (exp % 2) return mid * mid % MOD * base % MOD;
  return mid * mid % MOD;
}
long long rec(long long i, long long j) {
  if (i + j >= k) {
    return ((i + j) * push_back + pa) * ipb % MOD;
  }
  if (dp[i][j] == -1) {
    dp[i][j] =
        (pa * rec(i + 1, j) + push_back * rec(i, i + j)) % MOD * ipapb % MOD;
  }
  return dp[i][j];
}
int main() {
  cin >> k >> pa >> push_back;
  ipapb = fp(pa + push_back, MOD - 2);
  ipb = fp(push_back, MOD - 2);
  memset(dp, -1, sizeof(dp));
  cout << rec(1, 0) << endl;
  return 0;
}
