#include <bits/stdc++.h>
using namespace std;
long long n, A, B, cg[2010], sb[2010], dp[2010][2010], lt[2010], an[2010];
long long po(long long x, long long y) {
  long long z = 1;
  while (y) {
    if (y % 2) z = x * z % 998244353;
    x = x * x % 998244353;
    y /= 2;
  }
  return z;
}
int main() {
  cin >> n >> A >> B;
  long long Cg = A * po(B, 998244353 - 2) % 998244353,
            Sb = (1 - Cg + 998244353) % 998244353;
  cg[0] = 1;
  sb[0] = 1;
  for (int i = 1; i <= n; i++)
    cg[i] = cg[i - 1] * Cg % 998244353, sb[i] = sb[i - 1] * Sb % 998244353;
  dp[0][0] = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= i; j++) {
      dp[i][j] = dp[i - 1][j] * cg[j] % 998244353;
      if (j) dp[i][j] = (dp[i][j] + dp[i - 1][j - 1] * sb[i - j]) % 998244353;
    }
  }
  lt[1] = 1;
  for (int i = 2; i <= n; i++) {
    lt[i] = 1;
    for (int j = 1; j < i; j++)
      lt[i] = (lt[i] + (998244353 - dp[i][j]) * lt[j]) % 998244353;
  }
  an[1] = 0;
  an[0] = 0;
  for (int i = 2; i <= n; i++) {
    for (int j = 1; j < i; j++)
      an[i] =
          (an[i] + (lt[j] * dp[i][j] % 998244353) *
                       (an[j] + an[i - j] + j * (i - j) + j * (j - 1) / 2)) %
          998244353;
    an[i] = (an[i] + (lt[i] * dp[i][i] % 998244353) * (i * (i - 1) / 2)) %
            998244353;
    long long p = (1 + (998244353 - lt[i]) * dp[i][i]) % 998244353;
    an[i] = an[i] * po(p, 998244353 - 2) % 998244353;
  }
  cout << an[n] << endl;
  return 0;
}
