import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    }
}
 import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    }
} Main public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    } main {
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int n n m m l; l n = scanner.nextInt() n scanner.nextInt() scanner.nextInt scanner m = scanner.nextInt() m scanner.nextInt() scanner.nextInt scanner l = scanner.nextInt() l scanner.nextInt() scanner.nextInt scanner int[][] a = new int[n][m]; a new int[n][m] n m int[][] b = new int[m][l]; b new int[m][l] m l long[][] c = new long[n][l]; c new long[n][l] n l for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        } int arow = 0; int arow = 0; arow 0 arow < n arow n arow++ arow++ arow {
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        } {
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        } for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            } int acol = 0; int acol = 0; acol 0 acol < m acol m acol++ acol++ acol {
                a[arow][acol] = scanner.nextInt();
            } {
                a[arow][acol] = scanner.nextInt();
            } a[arow][acol] = scanner.nextInt() a[arow][acol] a[arow] a arow acol scanner.nextInt() scanner.nextInt scanner for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        } int brow = 0; int brow = 0; brow 0 brow < m brow m brow++ brow++ brow {
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        } {
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        } for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            } int bcol = 0; int bcol = 0; bcol 0 bcol < l bcol l bcol++ bcol++ bcol {
                b[brow][bcol] = scanner.nextInt();
            } {
                b[brow][bcol] = scanner.nextInt();
            } b[brow][bcol] = scanner.nextInt() b[brow][bcol] b[brow] b brow bcol scanner.nextInt() scanner.nextInt scanner for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        } int ccol = 0; int ccol = 0; ccol 0 ccol < l ccol l ccol++ ccol++ ccol {
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        } {
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        } for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            } int arow = 0; int arow = 0; arow 0 arow < n arow n arow++ arow++ arow {

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            } {

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            } for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                } int acol = 0; int acol = 0; acol 0 acol < m acol m acol++ acol++ acol {
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                } {
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                } c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol] c[arow][ccol] c[arow] c arow ccol (long)a[arow][acol] * (long)b[acol][ccol] (long)a[arow][acol] a[arow] a arow acol (long)b[acol][ccol] b[acol] b acol ccol for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        } int row = 0; int row = 0; row 0 row < n row n row++ row++ row {
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        } {
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        } for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            } int col = 0; int col = 0; col 0 col < l-1 col l-1 l 1 col++ col++ col {
                System.out.print(c[row][col] + " ");
            } {
                System.out.print(c[row][col] + " ");
            } System.out.print(c[row][col] + " ") System.out.print System.out System System.out c[row][col] + " " c[row][col] c[row] c row col " " System.out.println(c[row][l-1]) System.out.println System.out System System.out c[row][l-1] c[row] c row l-1 l 1 scanner.close() scanner.close scanner String[] args args public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    }
} public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);

        int n, m, l;

        n = scanner.nextInt();
        m = scanner.nextInt();
        l = scanner.nextInt();

        int[][] a = new int[n][m];
        int[][] b = new int[m][l];
        long[][] c = new long[n][l];

        //create A matrix
        for(int arow = 0; arow < n; arow++){
            for(int acol = 0; acol < m; acol++){
                a[arow][acol] = scanner.nextInt();
            }
        }

        //create B matrix
        for(int brow = 0; brow < m; brow++){
            for(int bcol = 0; bcol < l; bcol++){
                b[brow][bcol] = scanner.nextInt();
            }
        }

        for(int ccol = 0; ccol < l; ccol++){
            for(int arow = 0; arow < n; arow++){

                for(int acol = 0; acol < m; acol++){
                    c[arow][ccol] += (long)a[arow][acol] * (long)b[acol][ccol];
                }
            }
        }


        for(int row = 0; row < n; row++){
            for(int col = 0; col < l-1; col++){
                System.out.print(c[row][col] + " ");
            }
            System.out.println(c[row][l-1]);
        }

        scanner.close();
    }
}

