#include <bits/stdc++.h>
#define ll long long

const int maxn = 500100;
const int base = 998244353;

using namespace std;

ll fac[maxn],inv[maxn],n,k,res;

ll pow(ll n,int k) {
    if (k==0) return 1;
    if (k==1) return n;
    ll mid = pow(n,k/2);
    mid = (mid*mid) % base;
    if (k%2==0) return mid;
    return (mid*n) % base;
}

ll C(int n,int k) {
    //cout<<n<<" "<<k<<" "<<fac[n]<<" "<<inv[k]<<" "<<inv[n-k]<<endl;
    if (k>n) return 0;
    if (k==n) return 1;
    //cout<<n<<" "<<k<<" "<<fac[n]<<" "<<inv[k]<<" "<<inv[n-k]<<" "<<((fac[n] * inv[k]) % base * inv[n-k]) % base<<endl;
    return ((fac[n] * inv[k]) % base * inv[n-k]) % base;
}

int main() {
    //freopen("in.txt","r",stdin);
    ios_base::sync_with_stdio(0); cin.tie(0);
    fac[0]=1; inv[0]=1;
    for (int i=1;i<=maxn;i++) {
        fac[i] = (fac[i-1]*i) % base;
        inv[i] = pow(fac[i],base-2) % base;
    }
    cin>>n>>k;
    if (k<n) {
        cout<<0<<endl;
        return 0;
    }
    for (int R=0;R<=k;R++) {
        int B = k-R;
        if (R==B) res = (res + C(R+B-1,R) - C(R+B-1,R+B-n+1)) % base;
        else if (R>B) res = (res + C(R+B,R) - C(R+B,2*R-n+1)) % base;
    }
    cout<<res<<endl;
}
