#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
const int N = 2000 + 10;
int n;
int pa, pb, p, q;
int cp[N][N];
int strong[N];
int f[N];
void add(int &t, int s) {
  t += s;
  if (t >= MOD) t -= MOD;
}
void mul(int &t, int s) { t = (long long)t * s % MOD; }
int pow(int s, int n) {
  long long ret = 1;
  while (n)
    if (n % 2)
      ret = ret * s % MOD, n--;
    else
      s = (long long)s * s % MOD, n >>= 1;
  return ret;
}
int inv(int s) { return pow(s, MOD - 2); }
int main() {
  cin >> n >> pa >> pb;
  p = (long long)pa * inv(pb) % MOD;
  q = (MOD - p + 1) % MOD;
  f[0] = 0;
  f[1] = 0;
  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] * pow(q, i - j) +
                  (long long)cp[i - 1][j] * pow(p, j)) %
                 MOD;
    }
  }
  strong[1] = 1;
  for (int i = 2; i <= n; i++) {
    int res = 0;
    for (int j = 1; j < i; j++) {
      int tmp = strong[j];
      mul(tmp, cp[i][j]);
      add(res, tmp);
    }
    strong[i] = (1 - res + MOD) % MOD;
  }
  for (int s = 2; s <= n; s++) {
    int res = 0;
    for (int i = 1; i < s; i++) {
      int cur = 1;
      mul(cur, strong[i]);
      mul(cur, cp[s][i]);
      int games = 0;
      add(games, i * (s - i));
      add(games, i * (i - 1) / 2);
      add(games, f[i]);
      add(games, f[s - i]);
      mul(cur, games);
      add(res, cur);
    }
    int coeff = 1;
    mul(coeff, strong[s]);
    mul(coeff, cp[s][s]);
    int tmp = coeff;
    mul(tmp, s * (s - 1) / 2);
    add(res, tmp);
    coeff = (1 + MOD - coeff) % MOD;
    mul(res, inv(coeff));
    f[s] = res;
  }
  cout << f[n] << endl;
  return 0;
}
