#include<cstdio> #include<iostream> using namespace std; const int MAXX=2e2,MAXY=2e2; struct Mat{ int x,y; int a[MAXX][MAXY]; }; Mat mull(Mat a,Mat b){ Mat c; c.x=b.x,c.y=a.y; for(int i=1;i<=c.x;i++){ for(int j=1;j<=c.y;j++){ for(int k=1;k<=a.x;k++) c.a[j][i]=c.a[j][i]+a.a[j][k]*b.a[k][i]; } } return c; } int main(){ int x1,y1,x2,y2; scanf("%d%d%d%d",&x1,&y1,&x2,&y2); Mat a,b; a.x=x1,a.y=y1,b.x=x2,b.y=y2; for(int j=1;j<=y1;j++){ for(int i=1;i<=x1;i++){ scanf("%d",&a.a[j][i]); } } for(int j=1;j<=y2;j++){// for(int i=1;i<=x2;i++){ scanf("%d",&b.a[j][i]); } } Mat ans=mull(a,b); for(int i=1;i<=ans.y;i++){ for(int j=1;j<=ans.x;j++){ printf("%d ",ans.a[i][j]); } printf(" "); } return 0; }