#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353;
const int N = 10000 + 10;
int p, s, r;
long long fac[N], inv[N], rev[N];
long long mpow(long long a, long long x) {
  if (x == 0) return 1;
  long long t = mpow(a, x >> 1);
  if (x % 2 == 0) return t * t % MOD;
  return t * t % MOD * a % MOD;
}
long long c(int a, int b) {
  if (a == b) return 1;
  return fac[a] * inv[b] % MOD * inv[a - b] % MOD;
}
long long cac(int n, int m, int k) {
  long long ret = c(m + n - 1, n - 1);
  for (int i = 1; i <= n; i++) {
    if (m >= (k + 1) * i) {
      long long tmp = c(n, i) * c(m - (k + 1) * i + n - i, n - i) % MOD;
      if (i % 2 == 1)
        ret = (ret - tmp + MOD) % MOD;
      else
        ret = (ret + tmp) % MOD;
    }
  }
  return ret;
}
int main() {
  fac[0] = 1;
  inv[0] = 1;
  rev[0] = 1;
  for (int i = 1; i < N; i++) {
    rev[i] = mpow(i, MOD - 2);
    fac[i] = fac[i - 1] * i % MOD;
    inv[i] = mpow(fac[i], MOD - 2);
  }
  cin >> p >> s >> r;
  long long tot = 0;
  for (int i = r; i <= s; i++) {
    tot = (tot + c(s - i + (p - 2), (p - 2))) % MOD;
  }
  tot = mpow(tot, MOD - 2);
  long long res = 0;
  for (int i = r; i <= s; i++) {
    for (int j = 0; j <= p - 1; j++) {
      if (s - i - j * i >= 0) {
        res = res + rev[j + 1] * c(p - 1, j) % MOD *
                        cac(p - 1 - j, s - i - j * i, i - 1) % MOD * tot % MOD;
        res %= MOD;
      }
    }
  }
  cout << res << endl;
}
