import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    }
    
    public static void printArray(long[][] array) {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    }
    
} import java.util.Scanner; Scanner java.util public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    }
    
    public static void printArray(long[][] array) {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    }
    
} Main public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    } main {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int n = scanner.nextInt(); n scanner.nextInt() scanner.nextInt scanner int m = scanner.nextInt(); m scanner.nextInt() scanner.nextInt scanner int l = scanner.nextInt(); l scanner.nextInt() scanner.nextInt scanner int[][] Anm = new int[n][m]; Anm new int[n][m] n m for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        } {
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        } for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            } int j=0; int j=0; j 0 j<m j m j++ j++ j {
                Anm[i][j] = scanner.nextInt();
            } {
                Anm[i][j] = scanner.nextInt();
            } Anm[i][j] = scanner.nextInt() Anm[i][j] Anm[i] Anm i j scanner.nextInt() scanner.nextInt scanner int[][] Bml = new int[m][l]; Bml new int[m][l] m l for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        } int i=0; int i=0; i 0 i<m i m i++ i++ i {
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        } {
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        } for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            } int j=0; int j=0; j 0 j<l j l j++ j++ j {
                Bml[i][j] = scanner.nextInt();
            } {
                Bml[i][j] = scanner.nextInt();
            } Bml[i][j] = scanner.nextInt() Bml[i][j] Bml[i] Bml i j scanner.nextInt() scanner.nextInt scanner long[][] Cnl = new long[n][l]; Cnl new long[n][l] n l for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        } int iN=0; int iN=0; iN 0 iN<n iN n iN++ iN++ iN {
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        } {
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        } for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            } int kM=0; int kM=0; kM 0 kM<m kM m kM++ kM++ kM {            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            } {            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            } for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                } int jL=0; int jL=0; jL 0 jL<l jL l jL++ jL++ jL {
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                } {
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                } Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL] Cnl[iN][jL] Cnl[iN] Cnl iN jL Anm[iN][kM] * Bml[kM][jL] Anm[iN][kM] Anm[iN] Anm iN kM Bml[kM][jL] Bml[kM] Bml kM jL printArray(Cnl) printArray Cnl String[] args args public static void printArray(long[][] array) {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    } printArray {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    } int row = array.length; row array.length array array.length int width = array[0].length; width array[0].length array[0] array 0 array[0].length for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        } int i=0; int i=0; i 0 i<row i row i++ i++ i {
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        } {
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        } for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            } int j=0; int j=0; j 0 j<width j width j++ j++ j {
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            } {
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            } System.out.print(array[i][j]) System.out.print System.out System System.out array[i][j] array[i] array i j if (j != width-1) { System.out.print(" "); } j != width-1 j width-1 width 1 { System.out.print(" "); } System.out.print(" ") System.out.print System.out System System.out " " System.out.println() System.out.println System.out System System.out long[][] array array public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    }
    
    public static void printArray(long[][] array) {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    }
    
} public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    }
    
    public static void printArray(long[][] array) {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    }
    
} Main
import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Cij = (k=1...m) AikBkj
        // Cnl = Anm x Bml
        
        // input n,m,l
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        
        // create Anm
        int[][] Anm = new int[n][m];
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                Anm[i][j] = scanner.nextInt();
            }
        }
        
        // create Bml
        int[][] Bml = new int[m][l];
        for(int i=0; i<m; i++){
            for(int j=0; j<l; j++){
                Bml[i][j] = scanner.nextInt();
            }
        }
        
        // create Cnl
        long[][] Cnl = new long[n][l];
        for(int iN=0; iN<n; iN++){
            for(int kM=0; kM<m; kM++){            
                for(int jL=0; jL<l; jL++){
                    Cnl[iN][jL] += Anm[iN][kM] * Bml[kM][jL];
                }
            }
        }
        
        // display
        printArray(Cnl);

    }
    
    public static void printArray(long[][] array) {
        int row = array.length;
        int width = array[0].length;
        for(int i=0; i<row; i++){
            for(int j=0; j<width; j++){
                System.out.print(array[i][j]);
                if (j != width-1) { System.out.print(" "); }
            }
            System.out.println();
        }
    }
    
}
