#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
const int maxn = 2005;
int add(int x, int y) {
  x += y;
  if (x >= mod) x -= mod;
  return x;
}
int mul(int x, int y) {
  long long z = 1LL * x * y;
  return z - z / mod * mod;
}
int powt(int a, int b) {
  int r = 1;
  while (b) {
    if (b & 1) r = mul(r, a);
    a = mul(a, a);
    b >>= 1;
  }
  return r;
}
int c[maxn][maxn], g[maxn], f[maxn];
int main() {
  int n, a, b, i, j;
  scanf("%d%d%d", &n, &a, &b);
  a = mul(a, powt(b, mod - 2));
  c[0][0] = 1;
  for (i = 1; i <= n; i++) {
    c[i][0] = 1;
    for (j = 1; j <= i; j++)
      c[i][j] = add(mul(c[i - 1][j - 1], powt(a, i - j)),
                    mul(c[i - 1][j], powt(add(1, mod - a), j)));
  }
  g[0] = g[1] = 1;
  for (i = 2; i < maxn; i++) {
    for (j = 1; j < i; j++) g[i] = add(g[i], mul(g[j], c[i][j]));
    g[i] = add(mod - g[i], 1);
  }
  for (i = 2; i <= n; i++) {
    for (j = 1; j < i; j++)
      f[i] =
          add(f[i],
              mul(mul(g[j], c[i][j]),
                  add(add(f[j], f[i - j]),
                      add(mul(j, i - j), mul(mul(j, j - 1), (mod + 1) >> 1)))));
    f[i] =
        add(f[i], mul(mul(g[i], c[i][i]), mul(mul(i, i - 1), (mod + 1) >> 1)));
    f[i] = mul(f[i], powt(add(1, mod - mul(g[i], c[i][i])), mod - 2));
  }
  printf("%d\n", f[n]);
  return 0;
}
