#include <iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main() {
int m, n;
while (cin >> m >> n)
{
int** a = new int* [m];
int** b = new int* [m];
int** res = new int* [m];
for (int i = 0; i < m; i++) {
a[i] = new int[m];
res[i] = new int[m];
b[i] = new int[m];
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
cin >> a[i][j];
res[i][j] = a[i][j];
}
}
if (n != 0) {
while (--n) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
b[i][j] = 0;
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
int sum = 0;
for (int z = 0; z < m; z++) {
sum += res[i][z] * a[z][j];
}
b[i][j] = sum;
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
res[i][j] = b[i][j];
}
}
}
}
else {
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
res[i][j] = 0;
}
}
for (int i = 0; i < m; i++) {
res[i][i] = 1;
}
}
for (int i = 0; i < m; i++) {
cout << res[i][0];
for (int j = 1; j < m; j++) {
cout << " " << res[i][j];
}
cout << endl;
}
}
return 0;
}