#include <bits/stdc++.h>
#define int long long
using namespace std;
#define bug cout<<"bug"<<endl
typedef long long ll;
const int INF = 1e18;
typedef pair<int, int> PII;
const int maxn = 2005;
int MOD,N;
struct matrix {
int n = N;
int m = N;
long long num[31][31];
void clear() {
memset(num, 0, sizeof(num));
}
void init() {
for (int i = 1; i <= n; i++)
num[i][i] = 1;
}
void print() {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cout << num[i][j];
if (j != m) cout << " ";
}
cout << '\n';
}
}
};
matrix operator +(matrix a,matrix b)
{
for (int i = 1; i <= a.n;i++)
for (int j = 1; j <= a.m;j++)
a.num[i][j] = (a.num[i][j] + b.num[i][j]) % MOD;
return a;
}
matrix operator *(matrix a,matrix b)
{
matrix ans;
ans.clear();
ans.n = a.n;
ans.m = b.m;
for (int i = 1; i <= a.n;i++)
for (int j = 1; j <= b.m;j++)
for (int k = 1; k <= a.m;k++)
ans.num[i][j] = (ans.num[i][j] + a.num[i][k] * b.num[k][j] % MOD) % MOD;
return ans;
}
struct mat {
int n, m;
matrix t[3][3];
void clear(int x) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
t[i][j].n=t[i][j].m = x;
t[i][j].clear();
}
}
}
};
mat operator +(mat a,mat b)
{
for (int i = 1; i <= a.n;i++)
for (int j = 1; j <= a.m;j++)
a.t[i][j] = (a.t[i][j] + b.t[i][j]);
return a;
}
mat operator *(mat a,mat b)
{
mat ans;
ans.clear(N);
ans.n = a.n;
ans.m = b.m;
for (int i = 1; i <= a.n;i++)
for (int j = 1; j <= b.m;j++)
for (int k = 1; k <= a.m;k++)
ans.t[i][j] = ans.t[i][j] + (a.t[i][k] * b.t[k][j]);
return ans;
}
mat power(mat a, int x)
{
mat ans;
ans.n = ans.m = a.n;
ans.clear(N);
for (int i = 1; i <= a.n;i++)
ans.t[i][i].init();
while(x)
{
if(x&1)
ans = ans * a;
a = a * a;
x >>= 1;
}
return ans;
}
inline void solve() {
int n, k;
cin >> n >> k >> MOD;
N = n;
matrix A, S, E, Z;
A.n = A.m = S.n = S.m = E.n = E.m = Z.n = Z.m = n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cin >> A.num[i][j];
}
}
E.init();
S.clear();
mat f, g;
f.n = 1, f.m = 2;
f.t[1][1] = S;
f.t[1][2] = A;
g.n = g.m = 2;
g.t[1][1] = A;
g.t[1][2] = Z;
g.t[2][1] = E;
g.t[2][2] = E;
mat ans = f * power(g, k);
ans.t[1][1].print();
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t = 1;
//cin >> t;
while (t--)
solve();
return 0;
}