#include <bits/stdc++.h>
int f[2005], g[2005], h[2005][2005];
int q, p, x, y, n, p1[2005], p2[2005];
inline int quickpow(int a, int b) {
  register int res = 1;
  while (b) {
    if (b & 1) res = 1LL * res * a % 998244353;
    a = 1LL * a * a % 998244353;
    b >>= 1;
  }
  return res;
}
int main() {
  scanf("%d%d%d", &n, &x, &y);
  p = 1LL * x * quickpow(y, 998244353 - 2) % 998244353;
  q = (1 - p + 998244353) % 998244353;
  p1[0] = 1, p2[0] = 1;
  for (register int i = 1; i <= n; ++i)
    p1[i] = 1LL * p * p1[i - 1] % 998244353,
    p2[i] = 1LL * q * p2[i - 1] % 998244353;
  h[1][0] = h[1][1] = 1;
  for (register int i = 2; i <= n; ++i) {
    h[i][0] = 1;
    for (register int j = 1; j <= i; ++j)
      h[i][j] =
          (1LL * h[i - 1][j] * p2[j] + 1LL * h[i - 1][j - 1] * p1[i - j]) %
          998244353;
  }
  g[1] = 1;
  for (register int i = 2; i <= n; ++i) {
    for (register int j = 1; j < i; ++j)
      g[i] = (g[i] + 1LL * g[j] * h[i][j]) % 998244353;
    g[i] = (1 - g[i] + 998244353) % 998244353;
  }
  f[1] = 0;
  for (register int i = 2; i <= n; ++i) {
    f[i] = 1LL * g[i] * h[i][i] % 998244353 * i * (i - 1) % 998244353 *
           499122177 % 998244353;
    for (register int j = 1; j <= i - 1; ++j) {
      f[i] =
          (f[i] + 1LL *
                      (1LL * j * (j - 1) % 998244353 * 499122177 % 998244353 +
                       1LL * (i - j) * j % 998244353 + 0LL + f[j] + f[i - j]) %
                      998244353 * g[j] % 998244353 * h[i][j]) %
          998244353;
    }
    f[i] = 1LL * f[i] *
           quickpow((1 - 1LL * g[i] * h[i][i] + 998244353) % 998244353,
                    998244353 - 2) %
           998244353;
  }
  std::cout << f[n];
}
