#include <bits/stdc++.h>
#pragma GCC optimize("O2")
#pragma GCC optimize("unroll-loops")
using namespace std;
const long double eps = 1e-7;
const int inf = 1000000010;
const long long INF = 10000000000000010LL;
const int mod = 998244353;
const int MAXN = 5110, LOG = 20;
long long n, s, r, u, v, x, y, t, a, b, ans;
long long F[MAXN], I[MAXN];
long long dp[110];
long long powmod(long long a, long long b) {
  if (!b) return 1;
  if (b & 1) return a * powmod(a * a % mod, b >> 1) % mod;
  return powmod(a * a % mod, b >> 1);
}
long long C(long long n, long long r) {
  if (n < 0 || n < r) return 0;
  return (F[n] * I[r] % mod) * I[n - r] % mod;
}
long long count(long long k, long long n) {
  if (!k && !n) return 1;
  return C(n + k - 1, k - 1);
}
long long f(long long n, long long sum, long long lim) {
  long long res = 0;
  for (int i = 0; i <= n && i * lim <= sum; i++) {
    long long tmp = count(n, sum - lim * i) * C(n, i) % mod;
    if (i & 1) tmp = -tmp;
    res += tmp;
  }
  return res % mod;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  F[0] = 1;
  for (int i = 1; i < MAXN; i++) F[i] = F[i - 1] * i % mod;
  I[MAXN - 1] = powmod(F[MAXN - 1], mod - 2);
  for (int i = MAXN - 1; i; i--) I[i - 1] = I[i] * i % mod;
  cin >> n >> s >> r;
  for (int x = r; x <= s; x++)
    for (int t = 1; t <= n && t * x <= s; t++)
      ans += C(n, t) * f(n - t, s - t * x, x) % mod;
  ans %= mod;
  ans = ans * powmod(C(s - r + n - 1, n - 1), mod - 2) % mod;
  ans = ans * powmod(n, mod - 2) % mod;
  cout << ans << '\n';
  return 0;
}
