
import java.util.Scanner;

public class Main {

	    public static void main(String[] args){
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    }
	} import java.util.Scanner; Scanner java.util public class Main {

	    public static void main(String[] args){
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    }
	} Main public static void main(String[] args){
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    } main {
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int numN = scan.nextInt(); numN scan.nextInt() scan.nextInt scan int numM = scan.nextInt(); numM scan.nextInt() scan.nextInt scan int numL = scan.nextInt(); numL scan.nextInt() scan.nextInt scan long[][] arrA = new long[numN][numM]; arrA new long[numN][numM] numN numM long[][] arrB = new long[numM][numL]; arrB new long[numM][numL] numM numL long[][] arrTot = new long[numN][numL]; arrTot new long[numN][numL] numN numL for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        } int i=0; int i=0; i 0 i<numN i numN i++ i++ i {
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        } {
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        } for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            } int j=0; int j=0; j 0 j<numM j numM j++ j++ j {
	                arrA[i][j] = scan.nextInt();
	            } {
	                arrA[i][j] = scan.nextInt();
	            } arrA[i][j] = scan.nextInt() arrA[i][j] arrA[i] arrA i j scan.nextInt() scan.nextInt scan for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        } int i=0; int i=0; i 0 i<numM i numM i++ i++ i {
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        } {
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        } for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            } int j=0; int j=0; j 0 j<numL j numL j++ j++ j {
	                arrB[i][j] = scan.nextInt();
	            } {
	                arrB[i][j] = scan.nextInt();
	            } arrB[i][j] = scan.nextInt() arrB[i][j] arrB[i] arrB i j scan.nextInt() scan.nextInt scan for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        } int i = 0; int i = 0; i 0 i<numN i numN i++ i++ i {
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        } {
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        } for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            } int j=0; int j=0; j 0 j<numL j numL j++ j++ j {
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            } {
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            } for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                } int k = 0; int k = 0; k 0 k<numM k numM k++ k++ k {
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                } {
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                } arrTot[i][j] += arrA[i][k]*arrB[k][j] arrTot[i][j] arrTot[i] arrTot i j arrA[i][k]*arrB[k][j] arrA[i][k] arrA[i] arrA i k arrB[k][j] arrB[k] arrB k j for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        } int i = 0; int i = 0; i 0 i<numN i numN i++ i++ i {
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        } {
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        } System.out.print(arrTot[i][0]) System.out.print System.out System System.out arrTot[i][0] arrTot[i] arrTot i 0 for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        } int j=1; int j=1; j 1 j<numL j numL j++ j++ j {
	                System.out.print(" "+arrTot[i][j]);
	        } {
	                System.out.print(" "+arrTot[i][j]);
	        } System.out.print(" "+arrTot[i][j]) System.out.print System.out System System.out " "+arrTot[i][j] " " arrTot[i][j] arrTot[i] arrTot i j System.out.println() System.out.println System.out System System.out String[] args args public class Main {

	    public static void main(String[] args){
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    }
	} public class Main {

	    public static void main(String[] args){
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    }
	} Main

import java.util.Scanner;

public class Main {

	    public static void main(String[] args){
	        Scanner scan = new Scanner(System.in);
	        int numN = scan.nextInt();
	        int numM = scan.nextInt();
	        int numL = scan.nextInt();
	        long[][] arrA = new long[numN][numM];
	        long[][] arrB = new long[numM][numL];
	        long[][] arrTot = new long[numN][numL];

	        for(int i=0; i<numN; i++){
	            for(int j=0; j<numM; j++){
	                arrA[i][j] = scan.nextInt();
	            }
	        }

	        for(int i=0; i<numM; i++){
	            for(int j=0; j<numL; j++){
	                arrB[i][j] = scan.nextInt();
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            for(int j=0; j<numL; j++){
	                for(int k = 0; k<numM; k++){
	                	arrTot[i][j] += arrA[i][k]*arrB[k][j];
	                }
	            }
	        }

	        for(int i = 0; i<numN; i++){
	            System.out.print(arrTot[i][0]);
	            for(int j=1;j<numL;j++){
	                System.out.print(" "+arrTot[i][j]);
	        }
	        System.out.println();
	        }

	    }
	}