#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void cmax(int &x, const int &y) { x = x > y ? x : y; }
void cmin(int &x, const int &y) { x = x < y ? x : y; }
template <class T>
istream &operator>>(istream &in, vector<T> &V) {
  for (auto &x : V) in >> x;
  return in;
}
template <class T>
ostream &operator<<(ostream &out, const vector<T> &V) {
  for (auto x : V) out << x << ' ';
  return out;
}
template <class T>
void sort(vector<T> &V) {
  sort(V.begin(), V.end());
}
template <class T>
void reverse(vector<T> &V) {
  reverse(V.begin(), V.end());
}
template <class T>
int SZ(const vector<T> &V) {
  return (int)V.size();
}
void debug() { cerr << "whxorz" << '\n'; }
int n, s, r;
const int N = 5105;
const int P = 998244353;
int mul(const int &x, const int &y) { return 1ll * x * y % P; }
int add(const int &x, const int &y) {
  if (x + y >= P) {
    return x + y - P;
  } else {
    return x + y;
  }
}
int sub(const int &x, const int &y) {
  if (x - y < 0) {
    return x - y + P;
  } else {
    return x - y;
  }
}
int qpow(int x, int y) {
  if (y < 0) {
    y += P - 1;
  }
  int res = 1;
  while (y) {
    if (y & 1) {
      res = mul(res, x);
    }
    x = mul(x, x);
    y >>= 1;
  }
  return res;
}
int C[N][105];
int inv[N];
int calc(int n, int s, int mx) {
  if (n == 0) {
    return s == 0;
  } else {
    int ans = 0, op = 1;
    for (int i = 0; i <= n && i * mx <= s; i++, op = P - op) {
      int result = mul(C[s - i * mx + n - 1][n - 1], C[n][i]);
      ans = add(ans, mul(result, op));
    }
    return ans;
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> s >> r;
  for (int i = 0; i < N; i++) {
    C[i][0] = 1;
    for (int j = 1; j <= min(i, 104); j++) {
      C[i][j] = add(C[i - 1][j - 1], C[i - 1][j]);
    }
  }
  for (int i = 1; i < N; i++) {
    inv[i] = qpow(i, -1);
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = r; j <= s; j++) {
      if (s < i * j) {
        continue;
      } else {
        ans = add(ans,
                  mul(mul(C[n - 1][i - 1], calc(n - i, s - i * j, j)), inv[i]));
      }
    }
  }
  int ways = C[s - r + n - 1][n - 1];
  ans = mul(ans, qpow(ways, -1));
  cout << ans << '\n';
  return 0;
}
