#include <bits/stdc++.h>
const int MOD = 998244353;
int exGCD(int one, int ano, int &x, int &y) {
  if (ano == 0) {
    x = 1;
    y = 0;
  } else {
    exGCD(ano, one % ano, y, x);
    y -= (one / ano) * x;
  }
}
int inv(int val) {
  int res, w;
  exGCD(val, MOD, res, w);
  return (res + MOD) % MOD;
}
int far[5110], exfar[5010];
int C(int n, int k) {
  if (n < k)
    return 0;
  else
    return long long(far[n]) * exfar[k] % MOD * exfar[n - k] % MOD;
}
int s, r, n, ans;
int f(int a, int b, int c) {
  if (a == 0) {
    if (b == 0)
      return 1;
    else
      return 0;
  }
  int res = 0, cur = 1;
  for (int i = 0; i <= a && i * c <= b; ++i) {
    res = (res +
           long long(cur) * C(b - i * c + a - 1, a - 1) % MOD * C(a, i) % MOD +
           MOD) %
          MOD;
    cur = MOD - cur;
  }
  return res;
}
int main() {
  scanf("%d %d %d", &n, &s, &r);
  far[0] = 1;
  for (int i = 1; i <= s + n; ++i) far[i] = long long(far[i - 1]) * i % MOD;
  for (int i = 0; i <= s + n; ++i) exfar[i] = inv(far[i]);
  for (int i = 1; i <= n; ++i) {
    for (int j = r; j <= s && i * j <= s; ++j)
      ans = (ans + long long(C(n - 1, i - 1)) * f(n - i, s - i * j, j) % MOD *
                       inv(i) % MOD) %
            MOD;
  }
  printf("%d\n", int(long long(ans) * inv(C(s - r + n - 1, n - 1)) % MOD));
  return 0;
}
