矩阵快速幂,别忘了mod就好
//By AcerMo
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int mod=9973;
int n,m;
struct mtix
{
int a[15][15];
mtix(){memset(a,0,sizeof(a));}
}f;
mtix mul(mtix a,mtix b)
{
mtix c;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
for (int k=1;k<=n;k++)
c.a[i][j]+=(a.a[i][k]*b.a[k][j])%mod,c.a[i][j]%=mod;
return c;
}
void mpow(int y)
{
mtix ans;int sum=0;
for (int i=1;i<=n;i++)
ans.a[i][i]=1;
for (;y;f=mul(f,f),y>>=1)
if (y&1) ans=mul(ans,f);
for (int i=1;i<=n;i++)
sum+=ans.a[i][i];
cout<<sum%mod<<endl;
return ;
}
int main()
{
int t;cin>>t;
while (t--)
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++)
for (int k=1;k<=n;k++)
scanf("%d",&f.a[i][k]);
mpow(m);
}
return 0;
}