#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) typedef vector VI; typedef vector VVI; typedef vector VL; typedef vector VVL; typedef long long LL; #define all(a) (a).begin(), (a).end() #define Yes(n) cout << ((n) ? "Yes" : "No" ) << endl #define ALL(a) (a).begin(),(a).end() #define pb push_back #include using mint = atcoder::modint998244353; mint fac[2000001],gf[2000001]; mint f(int n,int m){ return fac[n]*gf[m]*gf[n-m]; } int main() { fac[0]=1;gf[0]=1; for(int i=1;i<=2000000;i++){fac[i]=fac[i-1]*i; gf[i]=1/fac[i];} int n,m;cin>>n>>m; mint ans=0; mint mae=0; for(int a=m-1;a>0;a--){ if(LL(m)>=LL(a)*n){ mint mmm=f(m-a*n+n,n); ans+=a*(mmm-mae); mae=mmm; } } //cout<