#include <bits/stdc++.h>
long long gcdExtended(long long a, long long b, long long *x, long long *y);
long long modInverse(int a, long long m) {
  long long x, y;
  long long g = gcdExtended(a, m, &x, &y);
  if (g != 1)
    return -1;
  else {
    long long res = (x % m + m) % m;
    return res;
  }
}
long long gcdExtended(long long a, long long b, long long *x, long long *y) {
  if (a == 0) {
    *x = 0, *y = 1;
    return b;
  }
  long long x1, y1;
  long long gcd = gcdExtended(b % a, a, &x1, &y1);
  *x = y1 - (b / a) * x1;
  *y = x1;
  return gcd;
}
int factorial(int n) {
  if (n == 0) return 1;
  return n * factorial(n - 1);
}
int main() {
  int p, s, r;
  std::cin >> p >> s >> r;
  long long P = 0, Q = 0;
  for (int i = r; i <= s; i++) {
    int x = factorial(s - i + p - 2) / (factorial(p - 2) * factorial(s - i));
    P += x * 2;
    Q += x * 2;
    if (s - 2 * i > 0) P -= std::min((s - 2 * i) * (p - 1), x) * 2;
    if (s - 2 * i == 0) P -= p - 1;
  }
  std::cerr << P << ' ' << Q << std::endl;
  long long x = modInverse(Q, 998244353);
  std::cout << (P * x) % 998244353 << std::endl;
  return 0;
}
