#include <bits/stdc++.h>
const int MAXN = 6000, Mod = 998244353;
int n, Mins, Sums;
int Add(int x, int y) {
  x += y;
  return x >= Mod ? x - Mod : x;
}
int Sub(int x, int y) {
  x -= y;
  return x < 0 ? x + Mod : x;
}
int Quick_pow(int x, int po) {
  int Ans = 1;
  for (; po; po >>= 1, x = 1ll * x * x % Mod)
    if (po & 1) Ans = 1ll * Ans * x % Mod;
  return Ans;
}
int Inverse(int x) { return Quick_pow(x, Mod - 2); }
int Fac[MAXN + 5], Inv[MAXN + 5];
void Init() {
  Fac[0] = 1;
  for (int i = 1; i <= MAXN; i++) Fac[i] = 1ll * Fac[i - 1] * i % Mod;
  Inv[MAXN] = Inverse(Fac[MAXN]);
  for (int i = MAXN; i >= 1; i--) Inv[i - 1] = 1ll * Inv[i] * i % Mod;
}
int C(int n, int m) {
  if (n < 0 || m < 0 || n - m < 0) return 0;
  return 1ll * Fac[n] * Inv[m] % Mod * Inv[n - m] % Mod;
}
int Calc(int n, int m, int lim) {
  int Ans = 0;
  for (int i = 0; i <= m && i * lim <= n; i++)
    Ans = Add(Ans, 1ll * (i & 1 ? Mod - 1 : 1) * C(m, i) % Mod *
                       C(n - i * lim + m - 1, m - 1) % Mod);
  return Ans;
}
signed main() {
  Init();
  scanf("%d %d %d", &n, &Sums, &Mins);
  if (n == 1) return printf("1") & 0;
  int Ans = 0;
  for (int i = Mins; i <= Sums; i++)
    for (int j = 1; j <= n; j++) {
      if (j * i > Sums && (n - j) * (i - 1) + j * i < Sums) continue;
      if (j == n) {
        if (j * i == Sums) Ans = Add(Ans, Inverse(j));
        continue;
      }
      Ans = Add(Ans, 1ll * C(n - 1, j - 1) * Calc(Sums - i * j, n - j, i) %
                         Mod * Inverse(j) % Mod);
    }
  printf("%d\n", 1ll * Ans * Inverse(C(Sums - Mins + n - 1, n - 1)) % Mod);
  return 0;
}
