#include <bits/stdc++.h>
using namespace std;
const long MOD = 998244353;
long long fact[6000], invfact[6000], inv[1000];
long long pow(long long a, long long n) {
  if (n == 0) return 1;
  long long p = pow(a, n / 2);
  p = (p * p) % MOD;
  return (n % 2 == 0 ? p : (a * p) % MOD);
}
long long modinv(long long a) { return pow(a, MOD - 2); }
long long choose(int n, int k) {
  if (n < 0 || k < 0 || n < k) return 0;
  return (((fact[n] * invfact[k]) % MOD) * invfact[n - k]) % MOD;
}
long long g(int s, int p, int m) {
  if (p == 0) return (s == 0 ? 1 : 0);
  long long ans = 0;
  for (int k = 0; k <= p; k++) {
    ans += (k % 2 == 0 ? choose(p, k) : MOD - choose(p, k)) *
           choose(s - k * (m + 1) + p - 1, p - 1);
    ans %= MOD;
  }
  return ans;
}
int main() {
  int p, s, r;
  cin >> p >> s >> r;
  fact[0] = 1;
  invfact[0] = 1;
  for (int i = 1; i <= s + p - 1; i++) {
    fact[i] = (fact[i - 1] * i) % MOD;
    invfact[i] = modinv(fact[i]);
  }
  for (int i = 1; i <= p; i++) inv[i] = modinv(i);
  long long ans = 0;
  for (int a = r; a <= s; a++) {
    for (int k = 1; k <= p; k++) {
      ans +=
          ((choose(p - 1, k - 1) * g(s - k * a, p - k, a - 1)) % MOD) * inv[k];
      ans %= MOD;
    }
  }
  ans *= modinv(choose(s - r + p - 1, p - 1));
  ans %= MOD;
  cout << ans << endl;
  return 0;
}
