#include <bits/stdc++.h>
using namespace std;
template <class T>
void gi(T &x) {
  int f;
  char c;
  for (f = 1, c = getchar(); c < '0' || c > '9'; c = getchar())
    if (c == '-') f = -1;
  for (x = 0; c <= '9' && c >= '0'; c = getchar()) x = x * 10 + (c & 15);
  x *= f;
}
const int N = 4e5 + 10, mod = 998244353;
inline int qm(int x, int k) {
  int sum = 1;
  for (; k; k >>= 1, x = 1ll * x * x % mod)
    if (k & 1) sum = 1ll * sum * x % mod;
  return sum;
}
int n, a[20][N], R[N], L = 0;
inline int C(int n, int m) {
  if (n < m || n < 0 || m < 0) return 0;
  int ret = 1, I = 1;
  for (int i = 1; i <= m; i++)
    ret = 1ll * ret * (n - i + 1) % mod, I = 1ll * I * i % mod;
  return 1ll * ret * qm(I, mod - 2) % mod;
}
inline void NTT(int *A) {
  for (int i = 0; i < n; i++)
    if (i < R[i]) swap(A[i], A[R[i]]);
  for (int i = 1; i < n; i <<= 1) {
    int t0 = qm(3, (mod - 1) / (i << 1)), x, y;
    for (int j = 0; j < n; j += i << 1) {
      int t = 1;
      for (int k = 0; k < i; k++, t = 1ll * t * t0 % mod) {
        x = A[j + k];
        y = 1ll * A[j + k + i] * t % mod;
        A[j + k] = (x + y) % mod;
        A[j + k + i] = (x - y + mod) % mod;
      }
    }
  }
}
inline void mul(int *A, int *B) {
  NTT(A);
  NTT(B);
  for (int i = 0; i < n; i++) A[i] = 1ll * A[i] * B[i] % mod;
  NTT(A);
  reverse(A + 1, A + n);
  for (int i = 0, t = qm(n, mod - 2); i < n; i++) A[i] = 1ll * A[i] * t % mod;
}
inline void solve(int l, int r, int d) {
  if (l == r) {
    a[d][0] = l;
    a[d][1] = 1;
    return;
  }
  int mid = (l + r) >> 1, m = r - l + 1;
  solve(l, mid, d + 1);
  for (int i = 0; i <= m; i++) a[d][i] = a[d + 1][i];
  solve(mid + 1, r, d + 1);
  for (n = 1, L = 0; n <= m; n <<= 1) L++;
  for (int i = mid - l + 2; i < n; i++) a[d][i] = 0;
  for (int i = r - mid + 1; i < n; i++) a[d + 1][i] = 0;
  for (int i = 0; i < n; i++) R[i] = (R[i >> 1] >> 1) | ((i & 1) << (L - 1));
  mul(a[d], a[d + 1]);
}
int A, B;
int main() {
  cin >> n >> A >> B;
  if (n == 1) {
    if (A + B - 2 >= 0)
      puts("1");
    else
      puts("0");
    exit(0);
  }
  solve(0, n - 2, 0);
  cout << 1ll * a[0][A + B - 2] * C(A + B - 2, A - 1) % mod;
  return 0;
}
