#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
const int inv_2 = (mod + 1) / 2;
const int N = 2005;
int f[N], scc[N], cp[N][N], p, n, a, b;
void up(int &x, int y) {
  x = x - mod + y;
  x = (x < 0) ? x + mod : x;
}
int ksm(int x, int y) {
  int res = 1;
  while (y) {
    if (y & 1) res = (long long)res * x % mod;
    x = (long long)x * x % mod;
    y >>= 1;
  }
  return res;
}
int main() {
  scanf("%d%d%d", &n, &a, &b);
  p = (long long)a * ksm(b, mod - 2) % mod;
  cp[0][0] = 1;
  for (int i = 1; i <= n; i++) {
    cp[i][0] = 1;
    for (int j = 1; j <= i; j++)
      cp[i][j] =
          ((long long)cp[i - 1][j - 1] * ksm((1 - p + mod) % mod, i - j) % mod +
           (long long)cp[i - 1][j] * ksm(p, j) % mod) %
          mod;
  }
  for (int i = 1; i <= n; i++) {
    scc[i] = 1;
    for (int j = 1; j < i; j++)
      up(scc[i], (mod - (long long)scc[j] * cp[i][j] % mod) % mod);
  }
  for (int i = 1; i <= n; i++) {
    f[i] = (long long)scc[i] * i % mod * (i - 1) % mod * inv_2 % mod;
    for (int j = 1; j < i; j++)
      up(f[i], (long long)(f[j] + f[i - j] + (long long)j * (i - j) % mod +
                           (long long)j * (j - 1) % mod * inv_2 % mod) %
                   mod * scc[j] % mod * cp[i][j] % mod);
    f[i] = (long long)f[i] * ksm((mod + 1 - scc[i]) % mod, mod - 2) % mod;
  }
  printf("%d\n", f[n]);
  return 0;
}
