#include <bits/stdc++.h>
using namespace std;
const long long mod = 998244353;
long long fac[10005], ifac[10005], n, s, r;
inline long long Pow(long long x, long long y) {
  long long ret = 1;
  while (y) {
    if (y & 1) ret = ret * 1ll * x % mod;
    x = x * 1ll * x % mod;
    y >>= 1;
  }
  return ret % mod;
}
inline long long inv(long long x) { return Pow(x, mod - 2); }
inline long long C(long long n, long long m) {
  if (m > n || m < 0) return 0;
  return fac[n] * 1ll * ifac[n - m] % mod * ifac[m] % mod;
}
inline long long F(long long n, long long m) {
  if (m < 0) return 0;
  return C(n + m - 1, n - 1);
}
inline long long Mod(long long x) {
  if (x >= mod)
    x -= mod;
  else if (x < 0)
    x += mod;
  return x;
}
inline long long F1(long long n, long long m, long long r) {
  if (!n && !m) return 1;
  long long ret = 0, sign = (n & 1) ? -1 : 1;
  for (long long i = 0; i <= n; ++i, sign *= -1)
    if (m - (r + 1) * (n - i) >= 0)
      (ret += sign * C(n, i) % mod * F(n, m - (r + 1) * (n - i)) % mod) %= mod;
  return ret;
}
int main() {
  fac[0] = 1;
  for (long long i = 1; i <= 10000; ++i) fac[i] = fac[i - 1] * 1ll * i % mod;
  ifac[10000] = Pow(fac[10000], mod - 2);
  for (long long i = 9999; i >= 0; --i)
    ifac[i] = ifac[i + 1] * 1ll * (i + 1) % mod;
  cin >> n >> s >> r;
  long long ans = 0;
  for (long long x = r; x <= s; ++x) {
    for (long long y = 0; (y + 1) * x <= s && y + 1 <= n; ++y) {
      long long m = n - y - 1, ss = s - (y + 1) * x;
      ans = Mod(ans +
                F1(m, ss, x - 1) * 1ll * C(n - 1, y) % mod * inv(y + 1) % mod);
    }
  }
  cout << ans * 1ll * inv(C(s - r + n - 1, n - 1)) % mod;
  return 0;
}
