#include using namespace std; using ll = long long; #include using mint = atcoder::modint998244353; const int mx = 2<<17; mint fac[mx+1],ifac[mx+1]; int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int t; cin>>t; while(t--){ int n,m; cin>>m>>n; vector> dp(n+1,vector(3,0)); dp[0][0] = 1; for(int i = 0;i3){ mint tmp = mint(m) * mint(m-1) / mint(2); tmp -= m; dp[i+1][2] += tmp * dp[i][0]; tmp = mint(m-1) * mint(m-2) / mint(2); tmp -= m - 2; dp[i+1][2] += tmp * dp[i][1]; tmp = mint(m-2) * mint(m-3) / mint(2); tmp -= m - 4; dp[i+1][2] += tmp * dp[i][2]; } dp[i+1][1] += mint(m) * dp[i][0]; dp[i+1][1] += mint(m-1) * dp[i][1]; dp[i+1][1] += mint(m-2) * dp[i][2]; } mint ans = dp[n][0] + dp[n][1] + dp[n][2]; cout<