#include <bits/stdc++.h>
using namespace std;
long long fact[6000];
long long inv[6000];
pair<long long, long long> extendedEuclid(long long a, long long b) {
  if (b == 0)
    return pair<long long, long long>(1, 0);
  else {
    pair<long long, long long> d = extendedEuclid(b, a % b);
    return pair<long long, long long>(d.second, d.first - d.second * (a / b));
  }
}
long long ncr(int n, int r) {
  if (r == 0) return 1;
  if (n == 0) return 0;
  long long ret = fact[n];
  ret *= inv[r];
  ret %= 998244353;
  ret *= inv[n - r];
  return ret %= 998244353;
}
long long star_bars(int st, int br) {
  if (st == 0) return 1;
  if (br == 0) return 0;
  return ncr(st + br - 1, st);
}
long long func(int koyta, int sum, int thrs) {
  if (sum == 0) return 1;
  if (koyta == 0) return 0;
  if ((thrs - 1) * koyta < sum) return 0;
  long long ret = star_bars(sum, koyta);
  for (int i = 1; i <= koyta; i++) {
    if ((i * thrs) > sum) break;
    long long d =
        (star_bars(sum - (i * thrs), koyta) * ncr(koyta, i)) % 998244353;
    if (i & 1)
      ret -= d;
    else
      ret += d;
    ret = (ret + 998244353) % 998244353;
  }
  return ret;
}
long long modularInverse(long long a, int n) {
  pair<long long, long long> ret = extendedEuclid(a, n);
  return ((ret.first % n) + n) % n;
}
long long hor[6000];
int main() {
  fact[0] = 1;
  inv[0] = 1;
  hor[0] = 1;
  for (int i = 1; i <= 5000; i++) {
    fact[i] = (fact[i - 1] * i) % 998244353;
    inv[i] = modularInverse(fact[i], 998244353);
    hor[i] = modularInverse(i, 998244353);
  }
  int n, sum, r;
  scanf("%d%d%d", &n, &sum, &r);
  if (r == 0) {
    if (sum) {
      printf("0\n");
      return 0;
    }
    printf("%lld\n", hor[n]);
    return 0;
  }
  long long tot = 0, ans = 0;
  for (int i = r; i <= sum; i++) {
    tot += star_bars(sum - i, n - 1);
    tot %= 998244353;
    for (int j = 1; j <= n; j++) {
      if ((i * j) > sum) break;
      long long d = func(n - j, sum - (i * j), i) * ncr(n - 1, j - 1);
      d %= 998244353;
      d = (d * hor[j]) % 998244353;
      ans += d;
      if (ans >= 998244353) ans %= 998244353;
    }
  }
  tot = modularInverse(tot, 998244353);
  ans = (ans * tot) % 998244353;
  cout << ans << endl;
}
