#include <bits/stdc++.h>
using namespace std;
long long invab, invb, f[1010][1010], pa, pb, k;
long long ksm(long long x, long long y) {
  long long ans = 1;
  for (; y; y >>= 1, (x *= x) %= 1000000007ll)
    if (y & 1) (ans *= x) %= 1000000007ll;
  return ans;
}
long long dfs(int x, int y) {
  if (x + y >= k)
    return ((x + y) % 1000000007ll + pa * invb % 1000000007ll) % 1000000007ll;
  if (f[x][y])
    return f[x][y];
  else
    return f[x][y] = (dfs(x + 1, y) * pa % 1000000007ll +
                      dfs(x, y + x) * pb % 1000000007ll) %
                     1000000007ll * invab % 1000000007ll;
}
int main() {
  cin >> k >> pa >> pb;
  invab = ksm(pa + pb, 1000000007ll - 2);
  invb = ksm(pb, 1000000007ll - 2);
  cout << dfs(1, 0);
}
