mod=998244353 M=(10**6)*3+1 fac=[1]*M ninv=[1]*M finv=[1]*M for i in range(2,M): fac[i]=fac[i-1]*i%mod ninv[i]=(-(mod//i)*ninv[mod%i])%mod finv[i]=finv[i-1]*ninv[i]%mod def binom(n,k): if n<0 or k<0: return 0 if k>n: return 0 return (fac[n]*finv[k]%mod)*finv[n-k]%mod n,m=map(int,input().split()) res=1 a=[m//n]*n for i in range(m%n): a[i]+=1 rem=m for i in a: res*=binom(rem,i) res%=mod rem-=i print(res)