#include <bits/stdc++.h>
using namespace std;
long long n, s, m, P, Q;
long long f[5505], inv[5505];
inline long long POW(long long a, long long b = 998244353 - 2,
                     long long ans = 1) {
  for (; b; b >>= 1, a = a * a % 998244353)
    if (b & 1) ans = ans * a % 998244353;
  return ans;
}
inline long long C(long long n, long long m) {
  return n < m ? 0 : f[n] * inv[m] % 998244353 * inv[n - m] % 998244353;
}
void init(long long n) {
  f[0] = inv[0] = 1;
  for (long long i = 1; i <= n; i++)
    f[i] = f[i - 1] * i % 998244353, inv[i] = POW(f[i]);
}
inline long long cal(long long n, long long s, long long lim) {
  if (s == 0) return 1;
  long long ans = C(s + n - 1, n - 1);
  for (long long now, i = 1; i <= n and n + s - 1 - lim * i >= 0; i++)
    now = C(n, i) * C(n + s - 1 - lim * i, n - 1) % 998244353,
    (i & 1) ? ans -= now : ans += now;
  return (ans % 998244353 + 998244353) % 998244353;
}
signed main() {
  cin >> n >> s >> m;
  init(5505 - 5);
  Q = C(n + s - m - 1, n - 1);
  for (long long now = m; now <= s; now++)
    for (long long x = 1; x <= n and x * now <= s; x++)
      if (x * now + x - n >= s)
        (P += cal(n - x, s - x * now, now) * POW(x) % 998244353 *
              C(n - 1, x - 1)) %= 998244353;
  cout << P * POW(Q) % 998244353;
}
