#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353, inv2 = 499122177;
inline int add(int a, int b) {
  if ((a += b) >= mod) a -= mod;
  return a;
}
inline int dec(int a, int b) {
  if ((a -= b) < 0) a += mod;
  return a;
}
inline int mult(int a, int b) {
  long long t = 1ll * a * b;
  if (t >= mod) t %= mod;
  return t;
}
inline int power(int a, int b) {
  int out = 1;
  while (b) {
    if (b & 1) out = mult(out, a);
    a = mult(a, a);
    b >>= 1;
  }
  return out;
}
int n, a, b, p, f[2010], con[2010], S[2010][2010];
int main() {
  scanf("%d%d%d", &n, &a, &b);
  p = mult(a, power(b, mod - 2));
  S[0][0] = 1;
  for (int i = 1; i <= n; i++) {
    S[i][0] = 1;
    for (int j = 1; j <= i; j++)
      S[i][j] = add(mult(S[i - 1][j], power(dec(1, p), j)),
                    mult(S[i - 1][j - 1], power(p, i - j)));
  }
  con[1] = 1;
  for (int i = 2; i <= n; i++) {
    con[i] = 1;
    for (int j = 1; j < i; j++) {
      con[i] = dec(con[i], mult(con[j], S[i][j]));
    }
  }
  f[0] = f[1] = 0;
  for (int i = 2; i <= n; i++) {
    for (int j = 1; j < i; j++) {
      f[i] =
          add(f[i], mult(mult(con[j], S[i][j]),
                         add(add(f[j], f[i - j]),
                             add(mult(mult(j, j - 1), inv2), mult(j, i - j)))));
    }
    f[i] = mult(add(f[i], mult(mult(i, i - 1), mult(con[i], inv2))),
                power(dec(1, con[i]), mod - 2));
  }
  printf("%d\n", f[n]);
  return 0;
}
