#include #include using namespace std; using mint=atcoder::modint998244353; long N; int M; mint L[5<<17],R[5<<17]; main() { cin>>N>>M; L[0]=0; mint ans=0,pre=0; for(int i=1;i<=M;i++) { L[i]=mint(i).pow(N)*N*(i+1)/2; mint tmp=L[i]; L[i]-=pre; pre=tmp; ans+=i*L[i]; } R[M+1]=0; pre=0; for(int i=M;i>=1;i--) { int j=M-i+1; R[i]=mint(j).pow(N)*N*(M-mint(j-1)/2); mint tmp=R[i]; R[i]-=pre; pre=tmp; ans-=i*R[i]; } cout<