#include <bits/stdc++.h>
const int N = 3e3 + 2, p = 998244353;
int inv[N], fac[N], ifac[N];
int n, i, j, s, r, ans, anss;
inline int C(int n, int m) {
  if (n == m) return 1;
  return (long long)fac[n] * ifac[n - m] % p * ifac[m] % p;
}
inline int ksm(int x, int y) {
  int r = 1;
  while (y) {
    if (y & 1) r = (long long)r * x % p;
    x = (long long)x * x % p;
    y >>= 1;
  }
  return r;
}
inline int sol(int n, int s, int r) {
  if ((n == 0) && (s == 0)) return 1;
  int i, ans = 0;
  for (i = 0; i <= n; i++)
    if (i * r <= s) {
      if (i & 1) {
        ans = (ans - (long long)C(s - i * r + n - 1, n - 1) * C(n, i)) % p;
        if (ans < 0) ans += p;
      } else
        ans = (ans + (long long)C(s - i * r + n - 1, n - 1) * C(n, i)) % p;
    }
  return ans;
}
int main() {
  scanf("%d%d%d", &n, &s, &r);
  --n;
  fac[0] = ifac[0] = inv[1] = 1;
  for (i = 1; i < N; i++) fac[i] = (long long)fac[i - 1] * i % p;
  for (i = 2; i < N; i++) inv[i] = p - (long long)p / i * inv[p % i] % p;
  for (i = 1; i < N; i++) ifac[i] = (long long)ifac[i - 1] * inv[i] % p;
  for (j = r; j <= s; j++)
    for (i = 0; (i <= n) && (i + 1) * j <= s; i++)
      ans = (ans + (long long)sol(n - i, s - j * (i + 1), j) * C(n, i) % p *
                       ksm(i + 1, p - 2)) %
            p;
  printf("%d\n", int((long long)ans * ksm(C(s - r + n, n), p - 2) % p));
}
