#include <bits/stdc++.h>
const int N = 1000005;
int fac[N], ifac[N], inv[N], n, s, r, ans;
inline int C(const int n, const int m) {
  return n < m || m < 0
             ? 0
             : (0ll + fac[n]) * ifac[m] % 998244353 * ifac[n - m] % 998244353;
}
inline int ksm(register int x, register int L) {
  register int ans = 1;
  while (L)
    L& 1 ? ans = (0ll + ans) * x % 998244353 : 0, x = (0ll + x) * x % 998244353,
           L >>= 1;
  return ans;
}
int main() {
  scanf("%d%d%d", &n, &s, &r);
  register int i;
  if (n == 1) return putchar('1'), 0;
  for (i = (fac[0] = ifac[0] = inv[0] = fac[1] = ifac[1] = inv[1] = 1) + 1;
       i <= 5000; ++i)
    fac[i] = (0ll + fac[i - 1]) * i % 998244353,
    inv[i] =
        (0ll + inv[998244353 % i]) * (998244353 - 998244353 / i) % 998244353,
    ifac[i] = (0ll + ifac[i - 1]) * inv[i] % 998244353;
  for (register int x = r, i, j, lim, w; x <= s; ++x)
    if (x * n >= s)
      for (i = 1; i * x <= s && i <= n; ++i)
        if ((n - i) * (x - 1) + i * x >= s) {
          if (i == n) {
            ans = (ans + (i * x == s ? inv[i] : 0)),
            ans >= 998244353 ? ans -= 998244353 : 0;
            continue;
          }
          for (j = 0, lim = n - i, w = 0; j * x <= s && j <= lim; ++j)
            w = (w + (j & 1 ? 998244353 - 1ll : 1ll) * C(n - i, j) % 998244353 *
                         C(s - i * x - j * x + n - i - 1, n - i - 1)) %
                998244353;
          w = (0ll + C(n - 1, i - 1)) * inv[i] % 998244353 * w % 998244353,
          ans += w, ans >= 998244353 ? ans -= 998244353 : 0;
        }
  printf("%d",
         (0ll + ans) * ksm(C(s - r + n - 1, n - 1), 998244353 - 2) % 998244353);
  return 0;
}
