#include <bits/stdc++.h>
using namespace std;
const int N = 2005, P = 998244353;
int n, pa, pb, p, p1[N], p2[N], g[N], h[N], f[N][N];
inline int Pow(long long x, int y = P - 2) {
  int ans = 1;
  for (; y; y >>= 1, x = x * x % P)
    if (y & 1) ans = ans * x % P;
  return ans;
}
int main() {
  scanf("%d%d%d", &n, &pa, &pb), p = (long long)pa * Pow(pb) % P;
  p1[0] = p2[0] = 1;
  for (int i = 1; i <= n; ++i)
    p1[i] = (long long)p1[i - 1] * p % P, p2[i] = p2[i - 1] * (P + 1ll - p) % P;
  f[0][0] = 1;
  for (int i = 1; i <= n; ++i)
    for (int j = 0; j <= i; ++j) {
      f[i][j] = (long long)f[i - 1][j] * p1[j] % P;
      if (j) f[i][j] = (f[i][j] + (long long)f[i - 1][j - 1] * p2[i - j]) % P;
    }
  g[1] = 1, h[1] = 0;
  for (int i = 2; i <= n; ++i) {
    g[i] = 1;
    for (int j = 1; j < i; ++j) g[i] = (g[i] - (long long)g[j] * f[i][j]) % P;
    h[i] = (long long)g[i] * i * (i - 1) / 2 % P;
    for (int j = 1; j < i; ++j)
      h[i] =
          (h[i] + (long long)(h[j] + h[i - j] + j * (j - 1) / 2 + j * (i - j)) %
                      P * g[j] % P * f[i][j]) %
          P;
    h[i] = (long long)h[i] * Pow(P + 1 - g[i]) % P;
  }
  return printf("%d", (h[n] + P) % P), 0;
}
