#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e4+5;
const int D=25;
ll q[N][D],k[N][D],v[N][D],w[N],K[D][N];
ll n,d;
int main()
{
cin>>n>>d;
for(int u=1;u<=3;u++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=d;j++)
{
if(u==1)cin>>q[i][j];
else if(u==2)cin>>k[i][j];
else if(u==3)cin>>v[i][j];
}
}
}
for(int i=1;i<=n;i++)cin>>w[i];
for(int i=1;i<=d;i++)
{
for(int j=1;j<=n;j++)
{
K[i][j]=k[j][i];
}
}
ll tmp[D][D];
memset(tmp,0,sizeof tmp);
for(int i=1;i<=d;i++)
{
for(int j=1;j<=d;j++)
{
for(int u=1;u<=n;u++)
{
tmp[i][j]+=K[i][u]*v[u][j];
}
}
}
ll ans[N][D];
memset(ans,0,sizeof ans);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=d;j++)
{
for(int u=1;u<=d;u++)
{
ans[i][j]+=q[i][u]*tmp[u][j];
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=d;j++)
{
if(j!=1)cout<<' ';
ans[i][j]*=w[i];
cout<<ans[i][j];
}
cout<<endl;
}
}
错误点:必须要用longlong,不然会溢出