#include <bits/stdc++.h>
using namespace std;
const long long mo = 998244353;
long long fac[2010], inv[2010], Pa[2010], Pb[2010], f[2010][2010];
long long gro[2010], Ex[2010];
int n, AA, BB;
long long Pow(long long x, long long y) {
  return !y ? 1 : y == 1 ? x : Pow(x * x % mo, y >> 1) * Pow(x, y & 1) % mo;
}
int main() {
  fac[0] = 1;
  for (int i = 1; i <= 2000; i++) fac[i] = fac[i - 1] * i % mo;
  inv[2000] = Pow(fac[2000], mo - 2);
  for (int i = 2000; i >= 1; i--) inv[i - 1] = inv[i] * i % mo;
  scanf("%d%d%d", &n, &AA, &BB);
  Pa[0] = Pb[0] = 1;
  AA = Pow(BB, mo - 2) * AA % mo;
  BB = (mo + 1 - AA) % mo;
  for (int i = 1; i <= n; i++) {
    Pa[i] = Pa[i - 1] * AA % mo;
    Pb[i] = Pb[i - 1] * BB % mo;
  }
  for (int i = 0; i <= n; i++) {
    f[i][0] = 1;
    long long sum = 0, E = 0;
    for (int j = 1; j <= i; j++) {
      f[i][j] = (f[i - 1][j - 1] * Pb[i - j] + f[i - 1][j] * Pa[j]) % mo;
      long long p = f[i][j] * gro[j] % mo;
      if (j != i) {
        sum = (sum + p) % mo;
        E = (E + p * (mo + Ex[j] + Ex[i - j] - (i - j) * (i - j - 1) / 2)) % mo;
      }
    }
    gro[i] = (mo + 1 - sum) % mo;
    Ex[i] = (i * (i - 1) / 2 + E) * Pow(sum, mo - 2) % mo;
  }
  printf("%lld\n", Ex[n]);
  return 0;
}
