#include <iostream>
using namespace std;
const int N = 1e4 + 10;
int n, d;
long long Q[N][21], K[N][21], V[N][21], W[N], res[N][21], t[21][21];
int main(){
cin >> n >> d;
for (int i = 0;i < 3;i ++){
for (int j = 0;j < n;j ++){
for (int k = 0;k < d;k ++){
switch (i){
case 0: cin >> Q[j][k]; break;
case 1: cin >> K[j][k]; break;
case 2: cin >> V[j][k]; break;
}
}
}
}
for (int i = 0;i < n;i ++) cin >> W[i];
for (int i = 0;i < d;i ++){
for (int k = 0;k < d;k ++){
for (int j = 0;j < n;j ++){
t[i][k] += K[j][i] * V[j][k];
}
}
}
for (int i = 0;i < n; i ++){
for (int k = 0;k < d;k ++){
for (int j = 0;j < d;j ++){
res[i][k] += Q[i][j] * t[j][k];
}
cout << res[i][k] * W[i] << ' ';
}
cout << endl;
}
}