import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numRow1 = sc.nextInt();
        int numCol1Row2 = sc.nextInt();
        int numCol2 = sc.nextInt();

        int[][] mat1 = new int[numRow1][numCol1Row2];
        int[][] mat2 = new int[numCol1Row2][numCol2];
        long[][] matOut = new long[numRow1][numCol2];
        int i, j, k;
        for (i = 0; i < numRow1; i++) {
            for (j = 0; j < numCol1Row2; j++) {
                mat1[i][j] = sc.nextInt();
            }
        }
        for (i = 0; i < numCol1Row2; i++) {
            for (j = 0; j < numCol2; j++) {
                mat2[i][j] = sc.nextInt();
            }
        }
        for (i = 0; i < numRow1; i++) {
            for (j = 0; j < numCol2; j++) {
                for (k = 0; k < numCol1Row2; k++) {
                    matOut[i][j] += mat1[i][k] * mat2[k][j];
                }
                if (j != 0) System.out.print(" ");
                System.out.print(matOut[i][j]);
            }
            System.out.println();
        }
    }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz