#include <bits/stdc++.h>
int64_t imax(const int64_t a, const int64_t b) { return std::max(a, b); }
int64_t imin(const int64_t a, const int64_t b) { return std::min(a, b); }
std::vector<int> irange(const int begin, const int end) {
  std::vector<int> ret;
  for (int i = begin; i <= end; i++) {
    ret.push_back(i);
  }
  return ret;
}
template <typename T>
void printvec(const std::vector<T>& vec) {
  for (int i = 0; i < vec.size(); i++) {
    std::cout << vec[i] << " ";
  }
  std::cout << std::endl;
}
int64_t cal_mod(const int64_t n, const int64_t mod) {
  if (mod <= 0) {
    return n;
  } else if (0 <= n) {
    return n % mod;
  } else {
    int64_t tmp = (-n) / mod + 1;
    return (n + tmp * mod) % mod;
  }
}
int64_t pow_mod(int64_t x, int64_t n, const int64_t mod) {
  int64_t ret = 1;
  while (n > 0) {
    if (n & 1) {
      ret = cal_mod(ret * x, mod);
    }
    x = cal_mod(x * x, mod);
    n = (n >> 1);
  }
  return ret;
}
class Combi_Num {
 public:
  int64_t mod;
  std::vector<int64_t> factorial, factorial_inv, inv;
  Combi_Num() {}
  Combi_Num(const int n, const int64_t mod_in) {
    mod = mod_in;
    factorial.resize(n + 1, 0);
    factorial_inv.resize(n + 1, 0);
    inv.resize(n + 1, 0);
    factorial[0] = 1;
    factorial_inv[0] = 1;
    inv[0] = 1;
    for (int i = 1; i <= n; i++) {
      factorial[i] = (factorial[i - 1] * i) % mod;
      inv[i] = pow_mod(i, mod - 2, mod);
      factorial_inv[i] = (factorial_inv[i - 1] * inv[i]) % mod;
    }
  }
  int64_t combi(const int n, const int r) const {
    return (factorial[n] * ((factorial_inv[r] * factorial_inv[n - r]) % mod)) %
           mod;
  }
  int64_t perm(const int n, const int r) const {
    return (factorial[n] * factorial_inv[n - r]) % mod;
  }
  int64_t separate(const int n, const int r, const int m) const {
    if (n < r * m) {
      return 0;
    }
    if (0 < m) {
      return separate(n - r * m, r, 0);
    }
    if (n == 0) {
      return 1;
    }
    if (r == 0) {
      return 0;
    }
    return combi(n + r - 1, r - 1);
  }
};
int p, s, r;
const int MOD = 998244353;
int main(int argc, char** argv) {
  std::cout << std::fixed << std::setprecision(15);
  std::cin >> p >> s >> r;
  Combi_Num cn(1e4, MOD);
  int64_t P = 0;
  for (int64_t i = ((int64_t)r); i <= ((int64_t)s); i++) {
    for (int64_t j = ((int64_t)1); j <= ((int64_t)p); j++) {
      if (i * j > s) {
        break;
      }
      int64_t num = 0;
      for (int64_t k = ((int64_t)0); k <= ((int64_t)p - j); k++) {
        if (i * (j + k) > s) {
          break;
        }
        int sgn = (k % 2 == 0) ? 1 : -1;
        num +=
            cn.combi(p - j, k) * cn.separate(s - i * j - i * k, p - j, 0) * sgn;
        num = cal_mod(num, MOD);
      }
      num *= cn.combi(p - 1, j - 1);
      num %= MOD;
      P += (num * cn.inv[j]) % MOD;
      P %= MOD;
    }
  }
  int64_t Q = cn.separate(s - r, p, 0);
  int64_t ret = P * pow_mod(Q, MOD - 2, MOD);
  std::cout << ret % MOD << std::endl;
  return 0;
}
