#include <bits/stdc++.h>
const int MOD = (int)998244353;
template <typename T>
inline void add(T &a, T b) {
  a += b;
  if (a >= MOD) a -= MOD;
}
template <typename T>
inline T mul(T a) {
  return a;
}
template <typename T, typename... Args>
inline T mul(T a, Args... args) {
  return a * 1LL * mul(args...) % MOD;
}
int inv(int x) {
  return x == 1 ? 1 : (MOD - MOD / x) * 1LL * inv(MOD % x) % MOD;
}
int power(int a, int b, int p) {
  int ret = 1;
  for (; b; b >>= 1, a = mul(a, a))
    if (b & 1) ret = mul(ret, a);
  return ret;
}
const int kN = 2000 + 5;
int cp[kN][kN], strong[kN], ans[kN];
int main() {
  int n, p;
  scanf("%d", &n);
  {
    int a, b;
    scanf("%d%d", &a, &b);
    p = mul(a, inv(b));
  }
  cp[0][0] = 1;
  for (int s = 1; s <= n; ++s) {
    for (int i = 0; i <= s; ++i) {
      cp[s][i] = mul(cp[s - 1][i], power(1 - p + MOD, i, MOD));
      if (i > 0) add(cp[s][i], mul(cp[s - 1][i - 1], power(p, s - i, MOD)));
    }
  }
  for (int s = 1; s <= n; ++s) {
    strong[s] = 1;
    for (int i = 1; i < s; ++i) add(strong[s], MOD - mul(strong[i], cp[s][i]));
  }
  for (int s = 2; s <= n; ++s) {
    for (int i = s; i > 0; --i) {
      int coef = mul(s - i, i);
      add(coef, mul(i, i - 1, inv(2)));
      add(coef, ans[i]);
      add(coef, ans[s - i]);
      add(ans[s], mul(strong[i], cp[s][i], coef));
    }
    int dom = 1;
    add(dom, MOD - mul(strong[s], cp[s][s]));
    ans[s] = mul(ans[s], inv(dom));
  }
  printf("%d\n", ans[n]);
}
