#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>

#define fo(i,j,l) for(int i=j;i<=l;++i)
#define fd(i,j,l) for(int i=j;i>=l;--i)

using namespace std;
typedef long long ll;
const ll N=52e4,mo=998244353;

ll jc[N],ny[N];
int n,k;

inline ll ksm(ll o,ll t)
{
	ll y=1;
	for(;t;t>>=1,o=o*o%mo)
	if(t&1)y=y*o%mo;
	return y;
}

inline ll C(int a,int b)
{return (b<0||b>a)?(0):(jc[a]*ny[b]%mo*ny[a-b]%mo);}

int main()
{
	scanf("%d%d",&n,&k);
	jc[0]=ny[0]=1;
	fo(i,1,k)jc[i]=jc[i-1]*i%mo;
	ny[k]=ksm(jc[k],mo-2);
	fd(i,k-1,1)ny[i]=ksm(jc[i],mo-2);
	int R=k/2+(k%2);
	ll ans=0;
	for(;R<=k;++R){
		if(R<n)continue;
		int B=k-R;
		int t=R-n+1;
		if(R==B)ans=(ans+C(k-1,R)-C(k-1,R+t));
		else ans=(ans+C(k,R)-C(k,R+t)); 
	}
	ans=(ans%mo+mo)%mo;
	cout<<ans;
}