#include <bits/stdc++.h>
using namespace std;
const int maxn = 5210;
const long long mod = 998244353;
long long C[maxn][maxn];
long long f(int n, int m, int x) {
  long long ans = 0;
  if (!m) return (n == 0 && x > 0);
  for (int i = 0, s = 1; i <= m; i++, s *= -1) {
    if (n - i * x < 0) break;
    ans += s * (C[m][i] * C[n - i * x + m - 1][m - 1] % mod),
        (ans += mod) %= mod;
  }
  return ans;
}
long long poww(long long a, int b) {
  long long res = 1;
  while (b) {
    if (b & 1) res *= a, res %= mod;
    a *= a, a %= mod;
    b >>= 1;
  }
  return res;
}
int main() {
  for (int i = 0; i <= 5200; i++)
    for (int j = 0; j <= i; j++)
      C[i][j] = (j == 0 || j == i) ? 1 : (C[i - 1][j - 1] + C[i - 1][j]) % mod;
  int r, p, s;
  cin >> p >> s >> r;
  long long ans = 0;
  if (p == 1) {
    puts("1");
    return 0;
  }
  if (s == 0 && r == 0) {
    printf("%lld\n", poww(p, mod - 2));
    return 0;
  }
  for (int x = r; x <= s; x++) {
    for (int i = 1; i <= p; i++) {
      if (i * x > s) break;
      ans += C[p - 1][i - 1] * f(s - i * x, p - i, x) % mod * poww(i, mod - 2) %
             mod;
      ans %= mod;
    }
  }
  cout << ans * poww(C[s - r + p - 1][p - 1], mod - 2) % mod << endl;
  return 0;
}
