#include <bits/stdc++.h>
using namespace std;
long long dp[10005][205];
long long bigMod(long long a, long long p) {
  if (p == 0LL) return 1LL;
  if (p == 1LL) return a;
  long long ret = bigMod(a, p / 2);
  ret = (ret * ret) % 998244353;
  if (p % 2 == 1LL) ret = (ret * a) % 998244353;
  return ret;
}
long long f(long long n, long long r) {
  if (n == 0 || n == 1 || r == 0 || n == r) return dp[n][r] = 1LL;
  if (dp[n][r] != -1) return dp[n][r];
  return dp[n][r] = (f(n - 1, r) + f(n - 1, r - 1)) % 998244353;
}
long long calc(long long n, long long s, long long m) {
  if (n == 0 && s == 0) return 1LL;
  long long ans = 0;
  for (long long i = 0; i <= n; i++) {
    long long x = s - i * (m + 1) + (n - 1), y = n - 1;
    long long sign = 1;
    if (i % 2 == 1) sign = -1;
    if (x >= y && x >= 0 && y >= 0) {
      long long t = (dp[x][y] * dp[n][i]) % 998244353;
      t = (t * sign + 998244353) % 998244353;
      if (t < 0) t += 998244353;
      ans += t;
      ans = ans % 998244353;
    } else
      break;
  }
  return ans;
}
int main() {
  memset(dp, -1, sizeof dp);
  for (int i = 0; i < 10005; i++) {
    for (int j = 0; j <= min(i, 203); j++) long long t = f(i, j);
  }
  long long p, s, r;
  scanf("%lld %lld %lld", &p, &s, &r);
  long long ans = 0;
  for (long long t = r; t <= s; t++) {
    for (long long q = 1; q <= p; q++) {
      if (s - q * t < 0) break;
      long long u = calc(p - q, s - q * t, t - 1);
      long long v = dp[p - 1][q - 1];
      long long w = bigMod(q, 998244353 - 2);
      u = (u * v) % 998244353;
      u = (u * w) % 998244353;
      ans += u;
      ans = ans % 998244353;
    }
  }
  long long h = dp[s - r + p - 1][p - 1];
  h = bigMod(h, 998244353 - 2);
  ans = (ans * h) % 998244353;
  cout << ans;
}
