#include <bits/stdc++.h>
using namespace std;
const int MN = 5000 + 11, MP = 105, MOD = 998244353;
long long cnk[MN][MP];
long long bp(long long a, long long p, long long m) {
  if (p == 0)
    return 1;
  else if (p & 1)
    return a * bp(a, p - 1, m) % m;
  else {
    long long b = bp(a, p / 2, m);
    return b * b % m;
  }
}
int rev(int a, int MOD) { return bp(a, MOD - 2, MOD); }
int dp(int a, int s, int p) {
  if (s == 0 && p == 0) return 1;
  long long ans = 0;
  for (int i = 0; i <= p; ++i) {
    long long c;
    if (i & 1)
      c = -1;
    else
      c = 1;
    if (s + p - 1 - i * (a + 1) >= 0)
      c *= 1LL * cnk[p][i] * cnk[s + p - 1 - i * (a + 1)][p - 1];
    else
      c = 0;
    ans += c;
    ans %= MOD;
  }
  if (ans < 0) ans += MOD;
  return ans;
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cnk[0][0] = 1;
  for (int i = 1; i < MN; ++i) {
    cnk[i][0] = 1;
    for (int j = 1; j <= min(i, MP - 1); ++j) {
      cnk[i][j] = cnk[i - 1][j] + cnk[i - 1][j - 1];
      if (cnk[i][j] > MOD) cnk[i][j] -= MOD;
    }
  }
  int p, r, s;
  cin >> p >> s >> r;
  long long res = 0;
  for (int i = r; i <= s; ++i) {
    for (int c = 1; c <= p && (c * i) <= s; ++c) {
      long long ans = cnk[p - 1][c - 1] * rev(c, MOD);
      ans %= MOD;
      ans *= dp(i - 1, s - i * c, p - c);
      ans %= MOD;
      res += ans;
      if (res > MOD) res -= MOD;
    }
  }
  res *= rev(cnk[s - r + p - 1][p - 1], MOD);
  res %= MOD;
  cout << res;
}
