#include <bits/stdc++.h>
const int maxn = 1e5 + 5;
using namespace std;
long long dp[1005][1005];
long long k, pa, pb;
long long powmod(long long a, long long n) {
  long long ans = 1;
  while (n) {
    if (n & 1) ans = (ans * a) % 1000000007;
    n /= 2;
    a = (a * a) % 1000000007;
  }
  return ans;
}
long long inv(long long x) { return powmod(x, 1000000007 - 2); }
long long DP(int i, int j) {
  if (i + j >= k) return (i + j + pa * inv(pb) % 1000000007) % 1000000007;
  if (dp[i][j] != -1) return dp[i][j];
  return dp[i][j] = ((pa * DP(i + 1, j) % 1000000007 +
                      pb * DP(i, i + j) % 1000000007) *
                     inv(pa + pb)) %
                    1000000007;
}
int main() {
  cin >> k >> pa >> pb;
  memset(dp, -1, sizeof(dp));
  cout << DP(1, 0) << endl;
  return 0;
}
