#include<stdio.h>
int main(){
    int matrix1[100][100]={0},matrix2[100][100]={0},matrix3[100][100]={0};
    int m=0,n=0,p=0;
    while(~scanf("%d\n%d\n%d",&m,&n,&p)){
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                scanf("%d",&matrix1[i][j]);  //读入矩阵1
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<p;j++){
                scanf("%d",&matrix2[i][j]);  //读入矩阵2
            }
        }
        for(int i=0;i<m;i++){
            for(int j=0;j<p;j++){
                for(int k=0;k<n;k++){
                    matrix3[i][j] += matrix1[i][k]*matrix2[k][j]; //计算矩阵3的元素
                }
            }
        }
        for(int s=0;s<m;s++){
            for(int t=0;t<p;t++){
                printf("%d",matrix3[s][t]);
                if(t!=p-1) printf(" ");  //控制空格符数量
            }printf("\n");  //控制换行
        }
    }    
}