#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int x = 0, f = 1;
  char c = getchar();
  for (; !isdigit(c); c = getchar())
    if (c == '-') f = -1;
  for (; isdigit(c); c = getchar()) x = x * 10 + c - '0';
  return x * f;
}
const int MAXN = 100010;
const int INF = 2147483600;
const long long Mod = 998244353LL;
const int MAX = 10010;
int P, S, R;
long long inv[MAXN + 1], ifac[MAXN + 1], fac[MAXN + 1];
inline long long C(long long n, long long m) {
  if (n < 0 || n < m) return 0;
  return fac[n] * ifac[m] % Mod * ifac[n - m] % Mod;
}
inline long long D(long long n, long long m) {
  if (!m) {
    return ((!n) ? 1 : 0);
  }
  return C(n + m - 1, m - 1);
}
inline void Add(long long &a, long long b) {
  a = (a + b >= Mod ? a + b - Mod : a + b);
}
inline long long Pow(long long a, long long b) {
  long long ret = 1;
  for (; b; b >>= 1, a = a * a % Mod)
    if (b & 1) ret = ret * a % Mod;
  return ret;
}
long long ans = 0;
int main() {
  P = read(), S = read(), R = read();
  fac[0] = ifac[0] = inv[1] = 1;
  for (int i = 2; i <= MAX; i++)
    inv[i] = (Mod - inv[Mod % i] * (Mod / i) % Mod) % Mod;
  for (int i = 1; i <= MAX; i++)
    ifac[i] = ifac[i - 1] * inv[i] % Mod, fac[i] = fac[i - 1] * i % Mod;
  for (int i = R; i <= S; i++) {
    for (int j = 1; j <= P; j++) {
      long long sum = 0;
      for (int k = 0; k <= P - j && (k + j) * i <= S; k++) {
        long long val = C(P - j, k) * C(P - 1, j - 1) % Mod *
                        D(S - (k + j) * i, P - j) % Mod;
        Add(sum, (k & 1) ? Mod - val : val);
      }
      Add(ans, sum * inv[j] % Mod);
    }
  }
  printf("%lld\n", ans * Pow(D(S - R, P), Mod - 2) % Mod);
  return 0;
}
