#include <bits/stdc++.h>
using namespace std;
long long C[5210][5010], inv[110];
long long solve(int a, int b, int lim) {
  if (lim < 0) return 0;
  if (a == 0) return 1;
  int i;
  long long tot = 0, x = 1;
  for (i = 0; i <= b; ++i) {
    if (a + b - 1 - (lim + 1) * i >= 0 && b - 1 >= 0)
      (tot += C[a + b - 1 - (lim + 1) * i][b - 1] * C[b][i] % 998244353ll *
              x) %= 998244353ll,
          (tot += 998244353ll) %= 998244353ll;
    x = -x;
  }
  return tot;
}
long long ksm(long long x, long long y) {
  long long qwq = 1;
  while (y) {
    if (y & 1) (qwq *= x) %= 998244353ll;
    (x *= x) %= 998244353ll, y >>= 1;
  }
  return qwq;
}
int main() {
  int s, r, p, i, j, k;
  long long P = 0, Q, x;
  scanf("%d", &p), scanf("%d", &s), scanf("%d", &r);
  inv[1] = 1;
  C[0][0] = 1;
  for (i = 1; i <= s + p - 1; ++i) {
    C[i][0] = 1;
    for (j = 1; j <= p; ++j) {
      if (j > i)
        C[i][j] = 0;
      else
        C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % 998244353ll;
    }
  }
  for (i = 2; i <= p; ++i)
    inv[i] = (1ll * 998244353ll - 1ll * 998244353ll / i) *
             inv[998244353ll % i] % 998244353ll;
  Q = C[s + p - 1 - r][p - 1];
  for (i = max(r, s / p); i <= s; ++i) {
    for (j = 1; j <= p; ++j) {
      if (i * j > s) break;
      if (j == p && i * p == s) {
        (P += inv[p]) %= 998244353ll;
        continue;
      }
      (P += solve(s - i * j, p - j, i - 1) * C[p - 1][j - 1] % 998244353ll *
            inv[j] % 998244353ll) %= 998244353ll;
    }
  }
  cout << P * ksm(Q, 998244353ll - 2) % 998244353ll;
}
