#include <bits/stdc++.h>
using namespace std;
bool inverse = false;
const int mod = 998244353;
int fac[10005];
int inv[10005];
int fpow(int a, int p) {
  int res = 1;
  while (p) {
    if (p & 1) res = (long long)res * a % mod;
    p >>= 1;
    a = (long long)a * a % mod;
  }
  return res;
}
int c(int n, int k) {
  int res = (long long)fac[n] * inv[k] % mod;
  res = (long long)res * inv[n - k] % mod;
  return res;
}
int func(int n, int s) {
  if (n == 0 && s == 0) return 1;
  return c(n + s - 1, s);
}
int g(int n, int s, int k) {
  int res = func(n, s);
  int mm = -1;
  for (int i = 1; i * k <= s && i <= n; i++) {
    res = (res + (long long)mm * c(n, i) * func(n, s - i * k)) % mod;
    if (res < 0) {
      res += mod;
    }
    mm = -1 * mm;
  }
  return res;
}
int main() {
  fac[0] = 1;
  for (int i = 1; i < 10005; i++) {
    fac[i] = (long long)i * fac[i - 1] % mod;
  }
  for (int i = 0; i < 10005; i++) {
    inv[i] = fpow(fac[i], mod - 2);
  }
  int p, s, r;
  cin >> p >> s >> r;
  int res = 0;
  for (int i = r; i <= s; i++) {
    for (int j = 0; j <= p - 1; j++) {
      if ((j + 1) * i > s) break;
      int tmp = c(p - 1, j);
      tmp = (long long)tmp * g(p - j - 1, s - (j + 1) * i, i) % mod;
      res = (res + (long long)tmp * fpow(j + 1, mod - 2)) % mod;
    }
  }
  res = (long long)res * fpow(func(p, s - r), mod - 2) % mod;
  cout << res << endl;
  return 0;
}
