#include <iostream>
using namespace std;
int main() {
int n,k;
while(cin >> n >> k)
{
int a[n][n];
int a_temp[n][n];
int b[n][n];
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cin >> a[i][j];
b[i][j]=a[i][j];
a_temp[i][j]=a[i][j];
}
}
while(k>1)
{
k--;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
int num=0;
for(int k=0; k<n; k++)
{
num+=a[i][k]*b[k][j];
}
a_temp[i][j]=num;
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
a[i][j]=a_temp[i][j];
}
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout << a_temp[i][j];
if(j!=n-1)
{
cout << ' ';
}
}
cout << endl;
}
}
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号