#include <bits/stdc++.h>
using std::min;
const int mu = 998244353;
int c[5105][105], s, n, p, r, inv[505], ans;
void reduce(int &x) { x += x >> 31 & mu; }
int ksm(int x, int y) {
  int ans = 1;
  for (; y; y >>= 1, x = x * 1ll * x % mu)
    if (y & 1) ans = ans * 1ll * x % mu;
  return ans;
}
int solve(int s, int n, int x) {
  if (s == 0 && n == 0) return 1;
  int ans = 0;
  for (int i = 0, tag = 1; i * x <= s && i <= n; i++, tag = -tag)
    ans = (ans + tag * c[n][i] * 1ll * c[s - i * x + n - 1][n - 1]) % mu;
  return (ans + mu) % mu;
}
int main() {
  scanf("%d%d%d", &p, &s, &r);
  c[0][0] = 1;
  for (int i = 1; i <= s + p; i++) {
    c[i][0] = 1;
    for (int j = 1; j <= min(i, p); j++)
      reduce(c[i][j] = c[i - 1][j - 1] + c[i - 1][j] - mu);
  }
  int tot = 0;
  for (int i = r; i <= s; i++) reduce(tot += c[s - i + p - 2][p - 2] - mu);
  inv[0] = 1, inv[1] = 1;
  for (int i = 2; i <= p; i++) inv[i] = (mu - mu / i) * 1ll * inv[mu % i] % mu;
  for (int i = r; i <= s; i++)
    for (int j = 1; j * i <= s && j <= p; j++) {
      int t = solve(s - i * j, p - j, i);
      t = t * 1ll * c[p - 1][j - 1] % mu * inv[j] % mu;
      reduce(ans += t - mu);
    }
  printf("%d\n", ans * 1ll * ksm(tot, mu - 2) % mu);
}
