#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; const int dx[]={1,0,0,-1},dy[]={0,1,-1,0}; ll mypow(int x,ll n){ if(n==0) return 1; if(n%2==1) return mypow(x,n-1)*x%mod; ll res=mypow(x,n/2); return res*res%mod; } int main(){ int n,m; cin>>n>>m,m++; int ans=0,cnt=0; for(int i=30;i>=0;i--){ if(m>>i&1){ ans=(ans+mypow(n+1,i)*mypow(n,cnt))%mod; cnt++; } } cout<