#include <bits/stdc++.h>
#define N 1000010
#define mod 998244353
using namespace std;

inline int read()
{
	int x=0,f=1; char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}
	return x*f;
}
inline int qpow(int bas,int pw)
{
	int ret=1;
	for(;pw;pw>>=1,bas=1ll*bas*bas%mod)
		if(pw&1) ret=1ll*ret*bas%mod;
	return ret;
}
inline void Add(int &x,int y)
{
	x+=y; if(x>=mod) x-=mod;
	if(x<0) x+=mod;
}
int n,k,fac[N],inv[N],Ans;
inline int C(int x,int y)
{
	if(y<0||x<y) return 0;
	return 1ll*fac[x]*inv[y]%mod*inv[x-y]%mod;
}
inline int ways(int X,int Y,int T)
{
	if(T<=0) return 0;
	return C(X+Y,X)-C(X+Y,Y-T);
}
inline int calc(int R,int B)
{
	if(R<B) return 0;
	if(R==B) return ways(R,B-1,B-n+1);
	if(R>B) return ways(R,B,R-n+1);
	return 0;
}
int main()
{
	n=read(); k=read();
	fac[0]=1; for(int i=1;i<=N-10;i++)
		fac[i]=1ll*fac[i-1]*i%mod;
	inv[N-10]=qpow(fac[N-10],mod-2);
	for(int i=N-11;i>=0;i--) 
		inv[i]=1ll*inv[i+1]*(i+1)%mod;
	for(int i=0;i<=k;i++) Add(Ans,calc(i,k-i));
	cout << Ans << endl; return 0;
}

