#include<stdio.h>
#include<stdlib.h>
int main(){
    int m,n,p,q;
    scanf("%d %d", &m, &n);
    
    int **A = (int**)malloc(m * sizeof(int*));
    for(int i = 0; i < m; i++)
    A[i] = (int*)malloc(n*sizeof(int));
     for(int i = 0; i < m; i++)   
    for(int j=0; j<n; j++)
        scanf("%d",&A[i][j]);
    
    scanf("%d %d", &p, &q);
    int **B = (int**)malloc(p*sizeof(int*));
    for(int i=0; i<p; i++)
    B[i] = (int*)malloc(q *sizeof(int));
    
    for(int i=0; i<p; i++)
        for(int j=0; j<q; j++)
        scanf("%d",&B[i][j]);
        
        if(n != p){
            printf("Invalid input");
            return 0;
        }
        int**C = (int**)malloc(m*sizeof(int*));
        for(int i = 0; i < m; i++)
        C[i] = (int*)malloc(q*sizeof(int));
        
        
        
        
        for(int i = 0; i < m; i++){
            for(int j = 0; j < q; j++){
                C[i][j] = 0;
                for(int k = 0; k < n; k++){
                    C[i][j] += A[i][k]*B[k][j];                }
        }
        }
    }
            
    for(int i=0; i < m; i++){
 for(int j=0; j<q; j++){
     printf("%d",C[i][j]);
     if(j<q-1)printf(" ");
 }
 if(i<m-1)printf("\n");
}
return 0;
}