import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    }

    public static long[][] matrixCalc(long[][] aMatrix, long[][] bMatrix, int n, int m, int l) {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    }
}
 import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    }

    public static long[][] matrixCalc(long[][] aMatrix, long[][] bMatrix, int n, int m, int l) {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    }
} Main public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    } main {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    } Scanner inp = new Scanner(System.in); inp new Scanner(System.in) int n = inp.nextInt(); n inp.nextInt() inp.nextInt inp int m = inp.nextInt(); m inp.nextInt() inp.nextInt inp int l = inp.nextInt(); l inp.nextInt() inp.nextInt inp long aMatrix[][] = new long[n][m]; aMatrix new long[n][m] n m long bMatrix[][] = new long[m][l]; bMatrix new long[m][l] m l for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        } int k = 0; int k = 0; k 0 k < n k n k++ k++ k {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        } {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        } for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            } int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
                aMatrix[k][j] = inp.nextInt();
            } {
                aMatrix[k][j] = inp.nextInt();
            } aMatrix[k][j] = inp.nextInt() aMatrix[k][j] aMatrix[k] aMatrix k j inp.nextInt() inp.nextInt inp for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        } int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        } {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        } for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
                bMatrix[k][j] = inp.nextInt();
            } {
                bMatrix[k][j] = inp.nextInt();
            } bMatrix[k][j] = inp.nextInt() bMatrix[k][j] bMatrix[k] bMatrix k j inp.nextInt() inp.nextInt inp long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l); total matrixCalc(aMatrix, bMatrix, n, m, l) matrixCalc aMatrix bMatrix n m l for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        } long[] item total {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        } {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        } String s = ""; s "" for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            } long secondItem item {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            } {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            } if (s != "") {
                    s += " ";
                } s != "" s "" {
                    s += " ";
                } s += " " s " " s += secondItem s secondItem System.out.print(s + "\n") System.out.print System.out System System.out s + "\n" s "\n" String[] args args public static long[][] matrixCalc(long[][] aMatrix, long[][] bMatrix, int n, int m, int l) {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    } matrixCalc {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    } long totals[][] = new long[n][l]; totals new long[n][l] n l long total; total for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        } {
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        } for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            } {
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            } total = 0L total 0L for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                } int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
                    total += aMatrix[i][k]*bMatrix[k][j];
                } {
                    total += aMatrix[i][k]*bMatrix[k][j];
                } total += aMatrix[i][k]*bMatrix[k][j] total aMatrix[i][k]*bMatrix[k][j] aMatrix[i][k] aMatrix[i] aMatrix i k bMatrix[k][j] bMatrix[k] bMatrix k j totals[i][j] = total totals[i][j] totals[i] totals i j total return totals; totals long[][] aMatrix aMatrix long[][] bMatrix bMatrix int n n int m m int l l public class Main {
    public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    }

    public static long[][] matrixCalc(long[][] aMatrix, long[][] bMatrix, int n, int m, int l) {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    }
} public class Main {
    public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    }

    public static long[][] matrixCalc(long[][] aMatrix, long[][] bMatrix, int n, int m, int l) {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner inp = new Scanner(System.in);
        int n = inp.nextInt();
        int m = inp.nextInt();
        int l = inp.nextInt();

        long aMatrix[][] = new long[n][m];
        long bMatrix[][] = new long[m][l];


        // Matrix A
        for (int k = 0; k < n; k++) {
            for (int j = 0; j < m; j++) {
                aMatrix[k][j] = inp.nextInt();
            }
        }

        // Matrix B
        for (int k = 0; k < m; k++) {
            for (int j = 0; j < l; j++) {
                bMatrix[k][j] = inp.nextInt();
            }
        }

        long total[][] = matrixCalc(aMatrix, bMatrix, n, m, l);

        for (long[] item : total) {
            String s = "";
            for (long secondItem : item) {
                if (s != "") {
                    s += " ";
                }
                s += secondItem;
            }
            System.out.print(s + "\n");
        }
    }

    public static long[][] matrixCalc(long[][] aMatrix, long[][] bMatrix, int n, int m, int l) {
        long totals[][] = new long[n][l];

        long total;

        for(int i = 0; i < n; i++){
            for(int j = 0; j < l; j++){
                total = 0L;
                for(int k = 0; k < m; k++){
                    total += aMatrix[i][k]*bMatrix[k][j];
                }
                totals[i][j] = total;
            }
        }

        return totals;
    }
}

