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;

    }  

}