#include<stdio.h>
void multiplyMatrices(int m, int n, int p, int q, int arr1[m][n], int arr2[p][q]){
    if (n != p){
        printf("Invalid input\n");
        return;
    }
    int result[m][q];
    for (int i = 0; i < m; i++){
        for(int j = 0; j < q; j++){
            result[i][j] = 0;
            for(int k =0; k < n; k++){
                result[i][j] += arr[i][k] * arr2[k][j];
            }
        }
    }
    for (int i = 0; i < m; i++){
        for (int j = 0; j < q; j++){
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }
}
int main(){
    int m, n, p, q;
    scanf("%d %d", &m, &n);
    
    int arr1[m][n];
    for (int i= 0; i < m; i++){
        for (int j = 0; j < n; j++){
            scanf("%d",&arr1[i][j]);
        }
    }
    scanf("%d %d", &p, &q);
    int arr2[p][q];
    for (int i = 0; i < p; i++){
        for (int j = 0; j , q; j++){
            scanf("%d", &arr2[i][j]);
        }
    }
    multiplyMatrices(m, n, p, q, arr1, arr2);
    return 0;
}