#include <bits/stdc++.h>
using namespace std;
inline int add(int _a, int _b) {
  _a = (_a + 998244353) % 998244353;
  _b = (_b + 998244353) % 998244353;
  return (_a + _b) % 998244353;
}
inline int mul(int _a, int _b) {
  _a = (_a + 998244353) % 998244353;
  _b = (_b + 998244353) % 998244353;
  return ((long long int)((long long int)_a * (long long int)_b)) % 998244353;
}
inline int bigMod(int v, int p) {
  if (p == 0) {
    return 1;
  }
  int ret = bigMod(v, p / 2) % 998244353;
  if (p % 2 == 0) {
    return mul(ret, ret);
  } else {
    return mul(ret, mul(ret, v));
  }
}
int fac[2 * 100010], invFac[2 * 100010], inv[2 * 100010];
void pre() {
  int i, j;
  for (i = 1, fac[0] = invFac[0] = 1; i < 2 * 100010 - 2; i++) {
    fac[i] = mul(fac[i - 1], i);
    inv[i] = bigMod(i, 998244353 - 2);
    invFac[i] = mul(invFac[i - 1], inv[i]);
  }
}
int p, s, r;
int comb(int n, int k) {
  if (k > n) {
    return 0;
  }
  return mul(fac[n], mul(invFac[k], invFac[n - k]));
}
void input() {
  int i, j;
  scanf("%d %d %d", &p, &s, &r);
}
void solve() {
  int i, j, ret, sol = 0, k, a, b;
  for (i = r; i <= s; i++) {
    for (j = 0; j <= p - 1 && i * (j + 1) <= s; j++) {
      for (k = 0; k <= p - 1 - j && i * (j + 1 + k) <= s; k++) {
        ret = comb(p - 1, j);
        ret = mul(ret, inv[j + 1]);
        if (k % 2 == 1) {
          ret = mul(ret, -1);
        }
        ret = mul(ret, comb(p - 1 - j, k));
        a = p - 1 - j + s - i * (j + 1 + k) - 1, b = s - i * (j + 1 + k);
        if (p - 1 - j == 0) {
          if (i * (j + 1 + k) != s) {
            ret = mul(ret, 0);
          }
        } else {
          ret = mul(ret, comb(a, b));
        }
        sol = add(sol, ret);
      }
    }
  }
  sol = mul(sol, bigMod(comb(s - r + p - 1, p - 1), 998244353 - 2));
  printf("%d", sol);
  puts("");
}
int main() {
  pre();
  input();
  solve();
}
