#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;
    }

}

标签: none