#include<stdio.h>
void mM(int m,int n,int M1[100][100],int p,int q,int rM[100][100],int M2[100][100]){
if (n!=p){
    printf("matrix multiplication not possible:columns of first matrix must equal row second matrix.\n");
    return;
}
for(int i=0;i<m;i++){
    for(int j=0;j<q;j++){
        rM[i][j]=0;
    }
}
for(int i=0;i<m;i++){
    for(int j=0;j<q;j++){
        for(int k=0;k<n;k++){
            rM[i][j]+=M1[i][k]*M2[k][j];
        }
     }
   }
}
int main(){
    int m,n,p,q;
    int M1[100][100],M2[100][100],rM[100][100];
    scanf("%d%d",&m,&n);
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&M1[i][j]);
        }
    }
    scanf("%d%d",&p,&q);
    for(int i=0;i<p;i++){
        for(int j=0;j<q;j++){
            scanf("%d",&M2[i][j]);
        }
    }
    mM(m,n,M1,p,q,rM);
    for(int i=0;i<m;i++){
        for(int j=0;j<q;j++){
            printf("%d",rM[i][j]);
        }
        printf("\n");
    }
}