#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e3 + 10;
const int Mod = 998244353;
long long e[MAXN][MAXN];
long long r[MAXN];
long long p[MAXN];
long long sc[MAXN];
long long dp[MAXN];
long long pw(long long x, long long n) {
  if (n == 0) {
    return 1;
  }
  long long w = pw(x, n / 2);
  w *= w;
  w %= Mod;
  if (n & 1) {
    w *= x;
    w %= Mod;
  }
  return w;
}
int main() {
  ios_base ::sync_with_stdio(false);
  cin.tie(0);
  long long n, a, b;
  cin >> n >> a >> b;
  p[0] = 1;
  r[0] = 1;
  for (int i = 1; i <= n; i++) {
    p[i] = p[i - 1] * ((a * pw(b, Mod - 2)) % Mod);
    p[i] %= Mod;
    r[i] = r[i - 1] * (((b - a) * pw(b, Mod - 2)) % Mod);
    r[i] %= Mod;
  }
  e[0][0] = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= i; j++) {
      if (j == 0) {
        e[i][j] = 1;
      } else {
        e[i][j] =
            ((e[i - 1][j] * r[j]) % Mod) + ((e[i - 1][j - 1] * p[i - j]) % Mod);
        e[i][j] %= Mod;
      }
    }
  }
  sc[1] = 1;
  for (int i = 2; i <= n; i++) {
    for (int j = 1; j < i; j++) {
      sc[i] += sc[j] * e[i][j];
      sc[i] %= Mod;
    }
    sc[i] = Mod + 1 - sc[i];
    sc[i] %= Mod;
    for (int j = 1; j < i; j++) {
      dp[i] += ((e[i][j] * sc[j]) % Mod) *
               (dp[i - j] + dp[j] + (j * (i - j)) + (j * (j - 1) / 2));
      dp[i] %= Mod;
    }
    long long k = Mod + 1 - sc[i];
    k %= Mod;
    dp[i] *= pw(k, Mod - 2);
    dp[i] %= Mod;
    dp[i] += ((sc[i] * (i * (i - 1) / 2)) % Mod) * pw(k, Mod - 2);
    dp[i] %= Mod;
  }
  cout << dp[n];
}
