#include #include using namespace std; using ll = long long; #define rep(i,n) for(int i=0;i<(int)(n);i++) using mint = atcoder::modint998244353; int main(){ int t; cin>>t; rep(Ti,t){ ll n,m; cin>>n>>m; if(n<=3){ vector> dp(m+1,vector(3,0)); dp.at(0).at(0)=1; rep(i,m){ dp.at(i+1).at(0)=dp.at(i).at(0)+dp.at(i).at(1)+dp.at(i).at(2); dp.at(i+1).at(1)+=dp.at(i).at(0)*n; dp.at(i+1).at(1)+=dp.at(i).at(1)*(n-1); dp.at(i+1).at(1)+=dp.at(i).at(2)*(n-2); } mint ans=0; rep(i,3) ans+=dp.at(m).at(i); cout<> dp(m+1,vector(3,0)); dp.at(0).at(0)=1; rep(i,m){ dp.at(i+1).at(0)=dp.at(i).at(0)+dp.at(i).at(1)+dp.at(i).at(2); dp.at(i+1).at(1)+=dp.at(i).at(0)*n; dp.at(i+1).at(1)+=dp.at(i).at(1)*(n-1); dp.at(i+1).at(1)+=dp.at(i).at(2)*(n-2); dp.at(i+1).at(2)+=dp.at(i).at(0)*n*(n-3)/2; dp.at(i+1).at(2)+=dp.at(i).at(1)*(n*(n-3)/2-(n-3)); dp.at(i+1).at(2)+=dp.at(i).at(2)*(n*(n-3)/2-(2*n-7)); } mint ans=0; rep(i,3) ans+=dp.at(m).at(i); cout<