import java.util.Scanner;
class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
int c1 = sc.nextInt();
int c2 = sc.nextInt();
int c3 = sc.nextInt();
//定义两个二维数组来存两个矩阵
int [][] arr1 = new int[c1][c2];
int [][] arr2 = new int[c2][c3];
//第一个矩阵
for(int i=0;i<c1;i++){
for(int j=0;j<c2;j++){
arr1[i][j] = sc.nextInt();
}
}
//第二个矩阵
for(int m=0;m<c2;m++){
for(int n=0;n<c3;n++){
// System.out.println(c2+"---- "+c3);
arr2[m][n] = sc.nextInt();
}
}
getResult(arr1,arr2);
}
}
private static int[][] getResult(int[][] a1,int[][] a2){
int[][] a3 = new int[a1.length][a2[0].length];
for(int i=0;i<a1.length;i++){
for(int j=0;j<a2[0].length;j++){
for(int s=0;s<a2.length;s++){
a3[i][j] += a1[i][s] * a2[s][j];
}
System.out.print(a3[i][j]+" ");
}
System.out.println();
}
return a3;
}
}