#include <bits/stdc++.h>
using namespace std;
int N, S, R;
long long fac[6005], ifac[6005];
long long qpow(long long x, int n) {
  long long res = 1;
  while (n) {
    if (n & 1) res = res * x % int(998244353);
    x = x * x % int(998244353);
    n /= 2;
  }
  return res;
}
void init() {
  int NN = 6e3;
  fac[0] = ifac[0] = 1;
  for (int i = 1; i <= NN; i++) {
    fac[i] = fac[i - 1] * i % int(998244353);
    ifac[i] = qpow(fac[i], int(998244353) - 2);
  }
}
long long comb(int n, int k) {
  if (n < 0 || k < 0 || n < k) return 0;
  return fac[n] * ifac[k] % int(998244353) * ifac[n - k] % int(998244353);
}
long long div(int s, int n, int x) {
  if (s > n * x) return 0;
  if (s == 0) return 1;
  long long ans = 0;
  for (int j = 0; j <= n && j * (x + 1) <= s; ++j) {
    if (s - j * (x + 1) > (n - j) * x) continue;
    ans = (ans +
           qpow(-1, j) * comb(n, j) % int(998244353) *
               comb(s - j * (x + 1) + n - 1, n - 1) % int(998244353) +
           int(998244353)) %
          int(998244353);
  }
  return ans;
}
int main() {
  cin >> N >> S >> R;
  init();
  long long ans = 0;
  int x0 = S / N;
  if (S % N) ++x0;
  for (int x = max(x0, R); x <= S; x++) {
    for (int i = 1; i * x <= S && i <= N; i++) {
      long long ans1 =
          comb(N - 1, i - 1) * qpow(i, int(998244353) - 2) % int(998244353);
      ans = (ans + ans1 * div(S - i * x, N - i, x - 1) % int(998244353)) %
            int(998244353);
    }
  }
  cout << ans * qpow(div(S - R, N, S - R), int(998244353) - 2) % int(998244353)
       << endl;
  return 0;
}
