#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353, maxn = 2010;
int n, a, b, p, q, pp[maxn], qq[maxn], cp[maxn][maxn], strong[maxn], ans[maxn];
int M(int x) { return x >= MOD ? x - MOD : x; }
int power(int x, int k) {
  int ans = 1;
  while (k) {
    if (k & 1) ans = 1ll * ans * x % MOD;
    x = 1ll * x * x % MOD;
    k >>= 1;
  }
  return ans;
}
int main() {
  scanf("%d%d%d", &n, &a, &b);
  p = 1ll * a * power(b, MOD - 2) % MOD;
  q = M(1 - p + MOD);
  pp[0] = qq[0] = 1;
  for (int i = 1; i <= n; i++)
    pp[i] = 1ll * pp[i - 1] * p % MOD, qq[i] = 1ll * qq[i - 1] * q % MOD;
  cp[0][0] = 1;
  for (int s = 1; s <= n; s++) {
    cp[s][0] = 1;
    for (int i = 1; i <= s; i++)
      cp[s][i] = M(1ll * cp[s - 1][i] * qq[i] % MOD +
                   1ll * cp[s - 1][i - 1] * pp[s - i] % MOD);
  }
  strong[1] = 1;
  for (int s = 2; s <= n; s++) {
    for (int i = 1; i < s; i++)
      strong[s] = M(strong[s] + 1ll * strong[i] * cp[s][i] % MOD);
    strong[s] = M(1 - strong[s] + MOD);
  }
  ans[0] = ans[1] = 0;
  for (int s = 2; s <= n; s++) {
    ans[s] = 0;
    for (int i = 1; i < s; i++) {
      a = 1ll * strong[i] * cp[s][i] % MOD;
      b = (i * (s - i) + i * (i - 1) / 2 + ans[i] + ans[s - i]) % MOD;
      ans[s] = M(ans[s] + 1ll * a * b % MOD);
    }
    ans[s] = 1ll * M(ans[s] + 1ll * strong[s] * s * (s - 1) / 2 % MOD) *
             power(M(1 - strong[s] + MOD), MOD - 2) % MOD;
  }
  printf("%d", ans[n]);
  return 0;
}
