#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
long long p, r, s;
long long fac[5005], inv[5005], finv[5005];
long long C(int a, int b) {
  if (!b) return 1;
  return fac[a] * finv[a - b] % mod * finv[b] % mod;
}
long long solve(int n, int lim, int m) {
  if (!m) return 1;
  if (m < 0) return 0;
  long long res = 0;
  int f = -1;
  for (int i = 0; i <= n && i * lim <= m; ++i) {
    f = -f;
    res = (res + f * C(n, i) * C(m - i * lim + n - 1, n - 1) % mod) % mod;
  }
  return res;
}
long long qpow(long long a, long long b) {
  long long res = 1;
  while (b) {
    if (b & 1) res = res * a % mod;
    b >>= 1;
    a = a * a % mod;
  }
  return res;
}
int main() {
  scanf("%lld %lld %lld", &p, &s, &r);
  p--;
  inv[1] = 1;
  fac[0] = fac[1] = 1;
  finv[0] = finv[1] = 1;
  for (int i = 2; i <= 5000; ++i) {
    inv[i] = (mod - mod / i) * inv[mod % i] % mod;
    fac[i] = fac[i - 1] * i % mod;
    finv[i] = finv[i - 1] * inv[i] % mod;
  }
  inv[0] = 1;
  long long ans = 0;
  for (int x = r; x <= s; ++x) {
    for (int i = 0; i <= p; ++i) {
      ans = (ans + C(p, i) * inv[i + 1] % mod *
                       solve(p - i, x, s - x * (i + 1)) % mod) %
            mod;
    }
  }
  printf(
      "%lld",
      ((ans % mod + mod) % mod * qpow(C(s - r + p, p), mod - 2) % mod + mod) %
          mod);
  return 0;
}
