#include <bits/stdc++.h>
using namespace std;
int n, P, Q, sum, low, p[100005];
int inline mul(int A, int B) { return (1ll * A * B) % 998244353; }
void inline add(int &A, int B) {
  A += B;
  if (A >= 998244353) A -= 998244353;
}
void inline sub(int &A, int B) {
  A -= B;
  if (A < 0) A += 998244353;
}
int Pow(int A, int B) {
  if (B == 0) return 1;
  int x = Pow(A, B / 2);
  x = mul(x, x);
  if (B % 2) x = mul(x, A);
  return x;
}
int C(int nn, int kk) {
  if (nn < 0 || nn < kk || kk < 0) return 0;
  int ans = Pow(mul(p[kk], p[nn - kk]), 998244353 - 2);
  ans = mul(ans, p[nn]);
  return ans;
}
int candy(int nn, int kk) {
  if (nn < 0 || kk < 0) return 0;
  if (nn == 0) return 1;
  return C(nn + kk - 1, kk - 1);
}
int solve(int m, int k, int upper) {
  upper++;
  int ans = 0;
  for (int i = 0; i <= k; i++)
    if (i % 2 == 0)
      add(ans, mul(C(k, i), candy(m - upper * i, k)));
    else
      sub(ans, mul(C(k, i), candy(m - upper * i, k)));
  return ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> sum >> low;
  p[0] = 1;
  for (int i = 1; i <= 100000; i++) p[i] = mul(p[i - 1], i);
  Q = candy(sum - low, n);
  for (int i = low; i <= sum; i++)
    for (int j = 1; j <= n; j++) {
      if (sum - j * i < 0) break;
      int x1 = mul(C(n - 1, j - 1), solve(sum - i * j, n - j, i - 1));
      add(P, mul(x1, Pow(j, 998244353 - 2)));
    }
  int res = mul(P, Pow(Q, 998244353 - 2));
  cout << res;
}
