#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"); //控制换行
}
}
}