#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353;
long long inv[5105], C[5105][5105], s, r, p;
long long QuickPow(long long x, long long up) {
  long long base = x, ans = 1;
  while (up) {
    if (up & 1) ans *= base, ans %= MOD;
    base *= base;
    base %= MOD;
    up >>= 1;
  }
  return ans;
}
int main() {
  scanf("%lld %lld %lld", &p, &s, &r);
  C[0][0] = 1;
  for (long long i = 1; i <= 5100; ++i) {
    C[i][0] = 1;
    for (long long j = 1; j <= i; ++j)
      C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % MOD;
  }
  inv[1] = 1;
  for (long long i = 2; i <= 5100; ++i)
    inv[i] = MOD - (MOD / i) * inv[MOD % i] % MOD;
  long long ans = 0;
  for (long long i = r; i <= s; ++i) {
    if (i * p < s) continue;
    for (long long j = 1; j <= p; ++j) {
      if (j * i > s || (p - j) * (i - 1) + i * j < s) continue;
      if (j == p && j * i == s)
        ans += inv[j], ans %= MOD;
      else if (j != p) {
        long long tot = 0, rev = -1;
        for (long long k = 0; k <= p - j && k * i <= s - i * j; ++k) {
          rev = -rev;
          tot += C[p - j][k] * C[s - i * j + p - j - 1 - k * i][p - j - 1] %
                 MOD * rev;
          tot %= MOD;
          tot += MOD;
          tot %= MOD;
        }
        ans += tot * inv[j] % MOD * C[p - 1][j - 1] % MOD;
        ans %= MOD;
      }
    }
  }
  long long inved = QuickPow(C[s - r + p - 1][p - 1], MOD - 2);
  printf("%lld", ans * inved % MOD);
  return 0;
}
