#include <bits/stdc++.h>
using namespace std;
void upd(int &x, int y) { x = x + y < 998244353 ? x + y : x + y - 998244353; }
int dp[100 + 5][5100 + 5];
long long qp(long long a, int k) {
  long long ans = 1;
  while (k) {
    if (k & 1) ans = ans * a % 998244353;
    a = a * a % 998244353;
    k >>= 1;
  }
  return ans;
}
long long fac[5100 + 5], inv[5100 + 5], ifac[5100 + 5];
long long C(int n, int m) {
  if (m < 0 || m > n) return 0;
  return fac[n] * ifac[m] % 998244353 * ifac[n - m] % 998244353;
}
long long cal(int n, int m) {
  if (m == 0) return n == 0;
  return C(n - 1, m - 1);
}
long long f(int N, int S, int upp) {
  long long ans = 0;
  for (int p = 0; p <= N && p * upp <= S; p++) {
    ans = (ans + (p & 1 ? -1 : 1) * C(N, p) * cal(S - p * upp, N)) % 998244353;
  }
  return (ans + 998244353) % 998244353;
}
int main() {
  fac[0] = ifac[0] = 1;
  inv[1] = 1;
  for (int i = 1; i <= 5100; i++) fac[i] = fac[i - 1] * i % 998244353;
  for (int i = 2; i <= 5100; i++)
    inv[i] = inv[998244353 % i] * (998244353 - 998244353 / i) % 998244353;
  for (int i = 1; i <= 5100; i++) ifac[i] = ifac[i - 1] * inv[i] % 998244353;
  int p, s, r;
  scanf("%d%d%d", &p, &s, &r);
  int ans = 0;
  for (int i = r; i <= s; i++) {
    for (int num = 0; num <= p - 1 && num * i <= s - i; num++) {
      long long tmp = f(p - 1 - num, s - i - num * i + p - 1 - num, i) *
                      qp(num + 1, 998244353 - 2) % 998244353;
      tmp = tmp * C(p - 1, num) % 998244353;
      upd(ans, tmp);
    }
  }
  ans = ans * qp(C(s - r + p - 1, p - 1), 998244353 - 2) % 998244353;
  printf("%d\n", ans);
  return 0;
}
