#include <bits/stdc++.h>
using namespace std;
int n;
long long a, b, p;
long long dp[2001][2001], total[2001], f[2001], g[2001];
long long my_pow(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans = (ans * a) % 998244353ll;
    a = (a * a) % 998244353ll, b >>= 1;
  }
  return ans;
}
void init() {
  for (int i = 0; i <= n; i++) dp[0][i] = 0;
  dp[0][0] = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= n; j++) dp[i][j] = 0;
    for (int j = 0; j <= i; j++) {
      if (j)
        dp[i][j] = (dp[i - 1][j - 1] * my_pow(998244353ll + 1 - p, i - j)) %
                   998244353ll;
      dp[i][j] = (dp[i][j] + dp[i - 1][j] * my_pow(p, j)) % 998244353ll;
    }
  }
  total[1] = 1ll;
  for (int i = 2; i <= n; i++) {
    total[i] = 1ll;
    for (int j = 1; j < i; j++)
      total[i] = (total[i] + 998244353ll * 998244353ll - total[j] * dp[i][j]) %
                 998244353ll;
  }
}
void solve() {
  f[1] = 0, g[1] = 0;
  for (int i = 2; i <= n; i++) {
    long long Ci2 =
        ((1ll * i * i - 1ll * i) * my_pow(2, 998244353ll - 2)) % 998244353ll;
    for (int j = 1; j < i; j++) {
      long long delta = (total[j] * dp[i][j]) % 998244353ll;
      g[i] = (g[i] + delta * (f[j] + g[i - j])) % 998244353ll;
    }
    f[i] = (g[i] * my_pow(998244353ll + 1 - total[i], 998244353ll - 2) +
            Ci2 * my_pow(998244353ll + 1 - total[i], 998244353ll - 2)) %
           998244353ll;
    g[i] = (g[i] + f[i] * total[i]) % 998244353ll;
  }
}
int main() {
  scanf("%d%lld%lld", &n, &a, &b);
  p = (a * my_pow(b, 998244353ll - 2)) % 998244353ll;
  init(), solve();
  printf("%lld\n", f[n]);
  return 0;
}
