#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void in(T &x) {
  x = 0;
  short f = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') x = x * 10 + (c ^ '0'), c = getchar();
  x *= f;
}
template <typename T, typename... Args>
inline void in(T &x, Args &...args) {
  in(x);
  in(args...);
}
template <class T>
inline void out(T x, const char c = '\n') {
  static short st[30];
  short m = 0;
  if (x < 0) putchar('-'), x = -x;
  do st[++m] = x % 10, x /= 10;
  while (x);
  while (m) putchar(st[m--] | '0');
  putchar(c);
}
template <typename T, typename... Args>
inline void out(const T &x, const Args &...args) {
  out(x, ' ');
  out(args...);
}
template <class T>
inline void print(T a[], int n) {
  if (n <= 0) return;
  for (register int i = 0; i < n; ++i) out(a[i], ' ');
  putchar('\n');
}
namespace i207M {
const int md = 998244353;
int qpow(int a, int b) {
  int res = 1;
  for (; b; b >>= 1, a = (long long)a * a % md)
    if (b & 1) res = (long long)res * a % md;
  return res;
}
inline int inv(int v) { return qpow(v, md - 2); }
int P, S, R;
int fac[10005], ifac[10005];
void prework() {
  fac[0] = 1;
  for (register int i = 1; i <= 10000; ++i)
    fac[i] = (long long)fac[i - 1] * i % md;
  ifac[10000] = inv(fac[10000]);
  for (register int i = 10000; i >= 1; --i)
    ifac[i - 1] = (long long)ifac[i] * i % md;
}
inline int c(int n, int m) {
  if (n < m) return 0;
  return (long long)fac[n] * ifac[m] % md * ifac[n - m] % md;
}
inline int fen(int n, int m) {
  if (n == 0 && m == 0) return 1;
  return c(n + m - 1, m - 1);
}
inline int calc(int s, int p, int m) {
  if (p == 0) return s == 0;
  if (m < 0) return 0;
  int ans = 0;
  for (register int i = 0; i <= p && s - i * (m + 1) >= 0; ++i) {
    int t = (long long)c(p, i) * fen(s - i * (m + 1), p) % md;
    if (i & 1)
      ans = (ans - t + md) % md;
    else
      ans = (ans + t) % md;
  }
  return ans;
}
signed main() {
  prework();
  in(P), in(S), in(R);
  int ans = 0;
  for (register int v = R; v <= S; ++v)
    for (register int t = 1; t <= P && t * v <= S; ++t) {
      ans = (ans + (long long)c(P - 1, t - 1) * calc(S - t * v, P - t, v - 1) %
                       md * inv(t)) %
            md;
    }
  ans = (long long)ans * inv(fen(S - R, P)) % md;
  out(ans);
  return 0;
}
}  // namespace i207M
signed main() {
  i207M::main();
  return 0;
}
