mod=998244353

n,m=map(int,input().split())

dp=[[0]*(n+1) for _ in range(n+1)] # num chunks, num instructions
dp[1]=[0] + [pow(m,i,mod) for i in range(n)]

for c in range(2,n+1):
    for i in range(c,n+1):
        # start new chunk
        dp[c][i]+=dp[c-1][i-1]
        # append to chunk
        dp[c][i]+=dp[c][i-1]*m

        dp[c][i]%=mod

facs=[1]*(2*n+2)
for i in range(2,2*n+2): facs[i]=facs[i-1]*i%mod
ifacs = [pow(x,-1,mod) for x in facs]
ans=0
for c in range(1,n+1):
    mul=1
    for i in range(n,c-1,-1):
        r=n-i
        v=facs[r+c-1]*ifacs[r]%mod*mul%mod*dp[c][i]%mod
        ans+=v
        ans%=mod
        mul=mul*(m+n+1)%mod

print(ans)