#include <bits/stdc++.h>
using namespace std;
class juzhen{
public:
int s[110][110];
int n;
juzhen(int k){
n=k;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++) s[i][j]=1;
}
}
juzhen operator*(const juzhen &a)const{
juzhen ans(n);
ans.n=n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
ans.s[i][j]=0;
for(int k=1;k<=n;k++) ans.s[i][j]+=s[i][k]*a.s[k][j];
}
}
return ans;
}
void print(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++) cout<<s[i][j]<<" ";
cout<<endl;
}
}
};
juzhen qpow(juzhen a,int k){
juzhen res(a.n);
res.n=a.n;
while(k){
if(k&1) res=(res*a);
a=(a*a);
k>>=1;
}
return res;
}
int n,k;
int main(){
cin>>n>>k;
juzhen a(n);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++) cin>>a.s[i][j];
}
juzhen ans=qpow(a,k);
ans.print();
}