样例全过,但wa on 6
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
const int mod=998244353;
int dp[N][10];
int n,m;
int qsm(int a,int b)
{
int res=1;
for(;b;b>>=1)
{
if(b&1) res=res*a%mod;
a=a*a%mod;
}
return res%mod;
}
int ni(int i)
{
return qsm(i,mod-2);
}
signed main()
{
cin>>n>>m;
int f2=2*ni(n*n)%mod;
int f1=(n-n*(n-1)*f2+mod)*ni(n)%mod;
dp[1][1]=f1,dp[1][2]=f2;
for(int i=2;i<=m;i++)
{
dp[i][2]=(dp[i-1][1]%mod*f2+dp[i-1][2]*f1%mod+dp[i-1][2]*f2*(n-2))%mod;
dp[i][1]=((n-n*(n-1)*dp[i][2]+2*mod)*ni(n))%mod;
}
cout<<(dp[m][1]+dp[m][2]*(2+n)*(n-1)/2)%mod<<endl;
return 0;
}