#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int sum = 0, f = 1;
  char c = getchar();
  while (c > '9' || c < '0') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c <= '9' && c >= '0') {
    sum = sum * 10 + c - '0';
    c = getchar();
  }
  return f * sum;
}
const int N = 2005;
const int Mod = 998244353;
int n, a, b;
int po[N], qo[N];
int f[N], s[N], c[N][N];
inline long long fpow(long long a, long long b) {
  long long ret = 1;
  for (; b; a = a * a % Mod, b >>= 1)
    if (b & 1) ret = ret * a % Mod;
  return ret;
}
signed main() {
  n = read();
  a = read();
  b = read();
  a = a * fpow(b, Mod - 2) % Mod;
  po[0] = qo[0] = 1;
  for (int i = 1; i <= n; i++) po[i] = 1ll * po[i - 1] * a % Mod;
  a = 1 - a + Mod;
  for (int i = 1; i <= n; i++) qo[i] = 1ll * qo[i - 1] * a % Mod;
  for (int i = 0; i <= n; i++) c[i][0] = s[i] = 1;
  s[0] = 0;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      c[i][j] = 1ll * qo[j] * c[i - 1][j] % Mod +
                1ll * po[i - j] * c[i - 1][j - 1] % Mod,
      c[i][j] %= Mod;
  for (int i = 2; i <= n; i++)
    for (int j = 1; j < i; j++)
      s[i] = (s[i] - 1ll * s[j] * c[i][j] % Mod) % Mod,
      s[i] = (s[i] + Mod) % Mod;
  for (int i = 2; i <= n; i++) {
    f[i] = i * (i - 1) / 2;
    f[i] = 1ll * f[i] * s[i] % Mod;
    for (int j = 1; j < i; j++)
      f[i] = (f[i] +
              1ll * s[j] * c[i][j] % Mod *
                  (f[j] + f[i - j] + 1ll * j * (i - j) + (j) * (j - 1) / 2) %
                  Mod) %
             Mod;
    f[i] = 1ll * f[i] * fpow(1 - s[i] + Mod, Mod - 2) % Mod;
  }
  printf("%d\n", f[n]);
  return 0;
}
