#include<bits/stdc++.h>
using namespace std;

const int maxn=500005;
const int mod=998244353;
int n,k;
int fac[maxn],ifac[maxn];

int binom(int a,int b){
	if(a<b||a<0||b<0)return 0;
	return 1LL*fac[a]*ifac[b]%mod*ifac[a-b]%mod;
}

int calc(int a,int b){
	if(a<n||a<b)return 0;
	if(a-b>=n)return binom(a+b,a);
	return (binom(a+b-(a==b),a)-binom(a+b-(a==b),2*a-n+1)+mod)%mod;
} 

int main(){
	scanf("%d%d",&n,&k);
	fac[0]=ifac[0]=fac[1]=ifac[1]=1;
	for(int i=2;i<=k;i++){
		fac[i]=1LL*fac[i-1]*i%mod;
		ifac[i]=1LL*ifac[mod%i]*(mod-mod/i)%mod;
	}
	for(int i=1;i<=k;i++)ifac[i]=1LL*ifac[i-1]*ifac[i]%mod;
	int ans=0;
	for(int i=0;i<=k;i++)ans=(ans+calc(i,k-i))%mod;
	printf("%d\n",ans);
	return 0;
}