#include <bits/stdc++.h>
using namespace std;
int c[10007][5007];
const long long mod = 998244353;
long long pown(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans = (ans * a) % mod;
    a = (a * a) % mod;
    b >>= 1;
  }
  return ans;
}
int C(int x, int y) {
  if (x < 0 || y < 0)
    return 0;
  else
    return c[x][y];
}
int main() {
  int n, s, r;
  scanf("%d%d%d", &n, &s, &r);
  if (n == 1) {
    printf("1");
    return 0;
  }
  c[0][0] = 1;
  for (int i = 1; i <= 10000; i++) {
    c[i][0] = 1;
    for (int k = 1; k <= min(i, 5000); k++)
      c[i][k] = (c[i - 1][k] + c[i - 1][k - 1]) % mod;
  }
  long long x = 0, y = 0;
  for (int i = r; i <= s; i++) {
    int end = (i == 0) ? n : min(s / i, n);
    for (int k = 1; k <= end; k++) {
      if (k == n) {
        long long sum = (k * i == s);
        x += sum;
        x %= mod;
        y += (sum * pown(k, mod - 2)) % mod;
        y %= mod;
        continue;
      }
      int flag = 1;
      long long now = 0;
      for (int z = 0; z <= end - k; z++) {
        now += C(n - k, z) *
               (C(s - i * (k + z) + n - k - 1, n - k - 1) * flag + mod) % mod;
        now %= mod;
        flag = -flag;
      }
      now *= C(n - 1, k - 1);
      now %= mod;
      now = (now * pown(k, mod - 2)) % mod;
      y += now;
      y %= mod;
    }
  }
  printf("%lld", y * pown(C(s - r + n - 1, n - 1), mod - 2) % mod);
  return 0;
}
