#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=10000005,M=998244353;
int n,A,B,fac[N],inv[N];
int C(int x,int y){
	if (x<y)return 0;
	return fac[x]*inv[y]%M*inv[x-y]%M;
}
int f(int x,int y){
	if (x==0&&y==0)return 1;
	if (y>x)return 0;
	return (C(x+y,y)-C(x+y,y-1)+M)%M;
}
int ksm(int x,int y){
	int ans=1;
	for (;y;y>>=1,x=x*x%M)
		if (y&1)(ans*=x)%=M;
	return ans;
}
signed main(){
	scanf("%lld%lld%lld",&n,&A,&B);
	int ans=0;
	fac[0]=inv[0]=1;
	for (int i=1;i<N;i++)fac[i]=fac[i-1]*i%M;
	inv[N-1]=ksm(fac[N-1],M-2);
	for (int i=N-2;i;i--)inv[i]=inv[i+1]*(i+1)%M;
	if (A==0&&B==0){
		puts("1");
		return 0;
	}
	for (int k=0;k<B&&n-B-k-1>=0&&A-k>=0;k++)(ans+=C(A-k+n-B-k-1,n-B-k-1)*f(B-1,k)%M)%=M;
	if (n==A+B)(ans+=f(B-1,A))%=M;
	printf("%lld\n",ans);
	return 0;
}
