#include <bits/stdc++.h>
using namespace std;
const int N = 6001;
const int mod = 998244353;
void add(int &a, int b) {
  a += b;
  if (a >= mod) a -= mod;
  if (a < 0) a += mod;
}
int mul(int a, int b) { return (long long)a * b % mod; }
int qpow(int a, int b) {
  int ans = 1;
  while (b) {
    if (b & 1) ans = mul(ans, a);
    a = mul(a, a);
    b >>= 1;
  }
  return ans;
}
int C[N][N];
int f(int sum, int num, int lim) {
  if (lim < 0) return 0;
  if (sum == 0) return 1;
  if (num == 0) return 0;
  int ans = 0;
  for (int i = 0; i <= num && i * lim <= sum; ++i) {
    int cur = (i & 1 ? mod - 1 : 1);
    cur = mul(cur, C[sum - i * lim + num - 1][num - 1]);
    cur = mul(cur, C[num][i]);
    add(ans, cur);
  }
  return ans;
}
int I[N];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  for (int i = 0; i < N; ++i) {
    C[i][0] = 1;
    for (int j = 1; j <= i; ++j)
      add(C[i][j], C[i - 1][j - 1]), add(C[i][j], C[i - 1][j]);
    I[i] = qpow(i, mod - 2);
  }
  int n, s, r;
  cin >> n >> s >> r;
  int ans = 0;
  for (int i = r; i <= s; ++i)
    for (int j = 1; j <= n && j * i <= s; ++j) {
      int cur = mul(C[n - 1][j - 1], f(s - i * j, n - j, i));
      add(ans, mul(cur, I[j]));
    }
  ans = mul(ans, qpow(C[s - r + n - 1][n - 1], mod - 2));
  cout << ans << endl;
}
