#include <bits/stdc++.h>
using namespace std;
inline long long mod(long long n, long long m) {
  long long ret = n % m;
  if (ret < 0) ret += m;
  return ret;
}
long long gcd(long long a, long long b) {
  return (b == 0LL ? a : gcd(b, a % b));
}
long long exp(long long a, long long b, long long m) {
  if (b == 0LL) return 1LL;
  if (b == 1LL) return mod(a, m);
  long long k = mod(exp(a, b / 2, m), m);
  if (b & 1LL) {
    return mod(a * mod(k * k, m), m);
  } else
    return mod(k * k, m);
}
const long long N = 10050;
const long long M = 998244353;
long long fat[N], inv[N];
long long C(long long n, long long k) {
  if (k > n) return 0;
  return mod(fat[n] * mod(inv[k] * inv[n - k], M), M);
}
long long Inv[N];
void init() {
  fat[0] = inv[0] = 1;
  for (long long i = 1; i < N; i++) {
    fat[i] = (1LL * fat[i - 1] * i) % M;
  }
  inv[N - 1] = exp(fat[N - 1], M - 2, M);
  for (long long i = N - 2; i >= 0; i--) {
    inv[i] = (inv[i + 1] * (i + 1)) % M;
    if (i) {
      Inv[i] = fat[i - 1] * inv[i] % M;
      assert(Inv[i] * i % M == 1);
    }
  }
}
long long stars(long long n, long long m) {
  if (m < 0) return 0;
  assert(n >= 0);
  if (m == 0) return 1;
  return C(n + m - 1, n - 1);
}
long long stars_with_upper(long long n, long long m, long long mx) {
  long long res = 0;
  if (n * (mx - 1) < m) return 0;
  for (long long cnt = 0; cnt <= n; cnt++) {
    long long cur = (long long)C(n, cnt) * stars(n, m - cnt * mx) % M;
    if (cnt & 1)
      res = (res - cur);
    else
      res = (res + cur);
    if (res < 0) res += M;
    if (res >= M) res -= M;
  }
  return res;
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  init();
  long long n, m, r;
  cin >> n >> m >> r;
  long long tot = 0, good = 0;
  long long R = r;
  n--;
  for (; r <= m; r++) {
    tot += stars(n, m - r);
    if (tot >= M) tot -= M;
    for (long long cnt = 0; (cnt + 1) * r <= m and cnt <= n; cnt++) {
      long long cur = Inv[(cnt + 1)] * C(n, cnt) % M *
                      stars_with_upper(n - cnt, m - (cnt + 1) * r, r) % M;
      good += cur;
      if (good >= M) good -= M;
    }
  }
  r = R;
  assert(tot == stars(n + 1, m - r));
  long long res = mod(good * exp(tot, M - 2, M), M);
  cout << res << "\n";
}
