#include <bits/stdc++.h>
using namespace std;
class Math {
 private:
  long long fact[20000 + 1] = {};
  long long ifac[20000 + 1] = {};

 public:
  Math() {
    fact[0] = 1;
    for (long long i = (1); i <= (20000); i++)
      fact[i] = (fact[i - 1] * i) % 998244353;
    ifac[20000] = pow(fact[20000], 998244353 - 2);
    for (long long i = (20000 - 1); i >= (0); i--)
      ifac[i] = (ifac[i + 1] * (i + 1)) % 998244353;
  }
  long long pow(long long a, long long n) {
    if (n == 0) return 1;
    long long ans = pow(a, n >> 1);
    ans *= ans, ans %= 998244353;
    if (n & 1) return (ans * a) % 998244353;
    return ans;
  }
  long long C(long long n, long long k) {
    if (k < 0 || k > n) return 0;
    return (((fact[n] * ifac[k]) % 998244353) * ifac[n - k]) % 998244353;
  }
  long long P(long long n, long long k) {
    return (fact[n] * ifac[n - k]) % 998244353;
  }
  long long factorial(long long n) { return fact[n]; }
  long long chiaKeo(long long candy, long long people) {
    if (candy == 0 && people == 0) return 1;
    return C(candy + people - 1, candy);
  }
};
Math math;
long long p, s, r;
long long process(long long score) {
  long long remain = s - score;
  long long people = remain / score;
  if (people >= p) return 0;
  long long way = 0;
  for (long long i = (0); i <= (people); i++) {
    long long curr = 0;
    long long remainP = p - 1 - i, remainS = remain - i * score;
    for (long long j = (0); j <= (people - i); j++) {
      long long x = math.chiaKeo(remainS - j * score, remainP) *
                    math.C(remainP, j) % 998244353;
      if (j & 1)
        curr = (curr + 998244353 - x) % 998244353;
      else
        curr = (curr + x) % 998244353;
    }
    curr *= math.C(p - 1, i), curr %= 998244353;
    cerr << curr << ' ' << i + 1 << '\n';
    curr *= math.pow(i + 1, 998244353 - 2), curr %= 998244353;
    way += curr, way %= 998244353;
  }
  return way;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> p >> s >> r;
  if (s == r && s == 0) {
    cout << math.pow(p, 998244353 - 2);
    return 0;
  }
  long long remain = s - r;
  long long totalCases = math.chiaKeo(remain, p);
  long long suitable = 0;
  for (long long score = (max(1ll, r)); score <= (s); score++) {
    suitable += process(score);
    suitable %= 998244353;
  }
  cout << (suitable * math.pow(totalCases, 998244353 - 2)) % 998244353;
}
