#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f, mod = 998244353;
const long long INF = 0x3f3f3f3f3f3f3f3fLL;
const double pi = acosl(-1.), eps = 1e-9;
inline void sum(int &a, int b) {
  a += b;
  if (a >= mod) a -= mod;
}
inline int power(int a, int b, int m = mod, int ans = 1) {
  for (; b; b >>= 1, a = 1LL * a * a % m)
    if (b & 1) ans = 1LL * ans * a % m;
  return ans;
}
const int NN = 10010;
int ch[NN], rch[NN];
int c(int n, int m) {
  if (n < m) return 0;
  if (!m) return 1;
  return (long long)ch[n] * rch[n - m] % mod * rch[m] % mod;
}
int dp[111][5555];
int s[111][5555];
int main() {
  ch[0] = 1;
  for (int i = 1; i < NN; i++) ch[i] = (long long)ch[i - 1] * i % mod;
  rch[NN - 1] = power(ch[NN - 1], mod - 2);
  for (int i = NN - 1; i; i--) {
    rch[i - 1] = (long long)rch[i] * i % mod;
  }
  int N, S, R;
  cin >> N >> S >> R;
  if (N == 1) {
    puts("1");
    return 0;
  }
  int tmp;
  if (R == 0) {
    tmp = c(N + S - 1, N - 1);
  } else {
    dp[0][0] = 1;
    for (int i = 0; i <= S; i++) s[0][i] = 1;
    for (int i = 1; i <= N; i++) {
      for (int j = 0; j <= S; j++) {
        dp[i][j] = s[i - 1][j];
        if (j >= R) dp[i][j] -= s[i - 1][j - R];
        if (dp[i][j] < 0) dp[i][j] += mod;
      }
      s[i][0] = 1;
      for (int j = 1; j <= S; j++) {
        s[i][j] = s[i][j - 1] + dp[i][j];
        if (s[i][j] >= mod) s[i][j] -= mod;
      }
    }
    tmp = c(S + N - 1, N - 1) - dp[N][S];
    if (tmp < 0) tmp += mod;
  }
  tmp = (long long)tmp * power(N, mod - 2) % mod;
  int tot = 0;
  for (int i = R; i <= S; i++) {
    sum(tot, c(S - i + N - 1 - 1, N - 2));
  }
  tot = power(tot, mod - 2);
  cout << (long long)tmp * tot % mod << endl;
  return 0;
}
