#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll base = 1e9 + 7;
ll n,m;
struct matrix
{
ll c[11][11];
matrix()
{
for (int i = 0;i < 11;i++)
for (int j = 0;j < 11;j++)
c[i][j] = 0;
}
};
matrix operator* (matrix a, matrix b)
{
matrix res;
for (int i = 0;i < 11;i++)
for (int j = 0;j < 11;j++)
{
res.c[i][j] = 0;
for (int k = 0;k < 11;k++)
res.c[i][j] = (res.c[i][j] + a.c[i][k]*b.c[k][j] ) % base;
}
return res;
}
matrix pow_matrix (matrix a, ll n)
{
if (n == 1)
return a;
if (n % 2 != 0)
return a*pow_matrix(a,n-1);
matrix tmp = pow_matrix(a,n/2);
return tmp*tmp;
}
void showm(matrix A,ll m){
for (int i = 0;i < m;i++)
{
for (int j = 0;j < m;j++)
cout << A.c[i][j] << ' ';
cout << '\n';
}
}
int main()
{
ll n,m;
cin >> n >> m;
matrix a;
for (int i = 0;i < m;i++)
for (int j = 0;j < m;j++)
cin >> a.c[i][j];
a = pow_matrix(a,n);
showm(a,m);
}