#include<stdio.h>
#include<string.h>
int main()
{
int t;
while(scanf("%d",&t)!=EOF){
while(t--){
int n,K,a[20][20],b[20][20],c[20][20];
scanf("%d%d",&n,&K);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
}K--;
while(K--){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
c[i][j]=0;
for(int k=0;k<n;k++){
c[i][j]+=b[i][k]*a[k][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j]=c[i][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(j!=0) printf(" %d",b[i][j]);
else printf("%d",b[i][j]);
}
printf("\n");
}
}
}
return 0;
}
#include<string.h>
int main()
{
int t;
while(scanf("%d",&t)!=EOF){
while(t--){
int n,K,a[20][20],b[20][20],c[20][20];
scanf("%d%d",&n,&K);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
}K--;
while(K--){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
c[i][j]=0;
for(int k=0;k<n;k++){
c[i][j]+=b[i][k]*a[k][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j]=c[i][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(j!=0) printf(" %d",b[i][j]);
else printf("%d",b[i][j]);
}
printf("\n");
}
}
}
return 0;
}