#include<bits/stdc++.h>
using namespace std;
int n;
class juzhen {
long long v[101][101];
public:
inline juzhen operator*= (juzhen b) {
juzhen c;
for (int i = 0; i < n; ++i)for (int j = 0; j < n; ++j)for (int k = 0; k < n; ++k) c.v[i][j] += v[i][k] * b.v[k][j];
return c;
}
inline istream& operator >> (istream& in, juzhen a) {
for (int i = 0; i < n; ++i)for (int j = 0; j < n; ++j) {
in >> a.v[i][j];
}
return in;
}
inline ostream& operator << (ostream& in, juzhen a) {
for (int i = 0; i < n; ++i)for (int j = 0; j < n; ++j) {
in << a.v[i][j]<<' ';
if (j == n - 1)cout << endl;
}
return in;
}
};
inline juzhen ksm(juzhen a, int k) {
juzhen ans;
while (k) {
if (k & 1)ans *= a;
a *= a;
k >>= 1;
}
return ans;
}
int main() {
juzhen a;
int k;
cin >> n >> k;
cin >> a;
cout << ksm(a,k);
return 0;
}