#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 1000000007;
int n, b;
struct rode {
int k[1009][1009];
} a, sum;
rode ppp(rode x) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
for (int m = 1; m <= n; m++) {
x.k[i][j] = (x.k[i][j] + x.k[i][m] * a.k[m][j]) % mod;
}
}
}
return x;
}
signed main() {
cin >> n >> b;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cin >> a.k[i][j];
if (i == j)
sum.k[i][j] = 1;
}
}
while (b > 0) {
if (b % 2 != 0)
sum = ppp(sum);
a = ppp(a);
b = b >> 1;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << sum.k[i][j] % mod << ' ';
}
cout << '\n';
}
return 0;
}