import java.util.Scanner;

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

        int n = scan.nextInt();
        int m = scan.nextInt();
        int l = scan.nextInt();
        long [][]A;
        A = new long[n][m];
        long [][]B;
        B = new long[m][l];
        long [][]C;
        C = new long[n][l];
        int i,j,k;

        for(i = 0; i < n; i++){
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        }
        for(j = 0; j < m; j++){
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        }
        for(k = 0; k < l; k++){
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        }
        for(i = 0; i< n; i++){
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        }      
    }
}      import java.util.Scanner; Scanner java.util class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int n = scan.nextInt();
        int m = scan.nextInt();
        int l = scan.nextInt();
        long [][]A;
        A = new long[n][m];
        long [][]B;
        B = new long[m][l];
        long [][]C;
        C = new long[n][l];
        int i,j,k;

        for(i = 0; i < n; i++){
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        }
        for(j = 0; j < m; j++){
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        }
        for(k = 0; k < l; k++){
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        }
        for(i = 0; i< n; i++){
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        }      
    }
} Main public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int n = scan.nextInt();
        int m = scan.nextInt();
        int l = scan.nextInt();
        long [][]A;
        A = new long[n][m];
        long [][]B;
        B = new long[m][l];
        long [][]C;
        C = new long[n][l];
        int i,j,k;

        for(i = 0; i < n; i++){
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        }
        for(j = 0; j < m; j++){
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        }
        for(k = 0; k < l; k++){
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        }
        for(i = 0; i< n; i++){
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        }      
    } main {
        Scanner scan = new Scanner(System.in);

        int n = scan.nextInt();
        int m = scan.nextInt();
        int l = scan.nextInt();
        long [][]A;
        A = new long[n][m];
        long [][]B;
        B = new long[m][l];
        long [][]C;
        C = new long[n][l];
        int i,j,k;

        for(i = 0; i < n; i++){
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        }
        for(j = 0; j < m; j++){
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        }
        for(k = 0; k < l; k++){
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        }
        for(i = 0; i< n; i++){
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        }      
    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan int m = scan.nextInt(); m scan.nextInt() scan.nextInt scan int l = scan.nextInt(); l scan.nextInt() scan.nextInt scan long [][]A; A A = new long[n][m] A new long[n][m] n m long [][]B; B B = new long[m][l] B new long[m][l] m l long [][]C; C C = new long[n][l] C new long[n][l] n l int i i j j k; k for(i = 0; i < n; i++){
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        } i = 0; i = 0 i 0 i < n i n i++ i++ i {
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        } {
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        } for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            } j = 0; j = 0 j 0 j < m j m j++ j++ j {
            A[i][j] = scan.nextLong();
            } {
            A[i][j] = scan.nextLong();
            } A[i][j] = scan.nextLong() A[i][j] A[i] A i j scan.nextLong() scan.nextLong scan for(j = 0; j < m; j++){
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        } j = 0; j = 0 j 0 j < m j m j++ j++ j {
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        } {
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        } for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            } k = 0; k = 0 k 0 k < l k l k++ k++ k {
            B[j][k] = scan.nextLong();
            } {
            B[j][k] = scan.nextLong();
            } B[j][k] = scan.nextLong() B[j][k] B[j] B j k scan.nextLong() scan.nextLong scan for(k = 0; k < l; k++){
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        } k = 0; k = 0 k 0 k < l k l k++ k++ k {
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        } {
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        } for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            } j = 0; j = 0 j 0 j < m j m j++ j++ j {
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            } {
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            } for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                } i = 0; i = 0 i 0 i < n i n i++ i++ i {
                C[i][k] += A[i][j]*B[j][k];
                } {
                C[i][k] += A[i][j]*B[j][k];
                } C[i][k] += A[i][j]*B[j][k] C[i][k] C[i] C i k A[i][j]*B[j][k] A[i][j] A[i] A i j B[j][k] B[j] B j k for(i = 0; i< n; i++){
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        } i = 0; i = 0 i 0 i< n i n i++ i++ i {
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        } {
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        } for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	} k = 0; k = 0 k 0 k< l k l k++ k++ k {
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	} {
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	} if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		} k != l-1 k l-1 l 1 {
        			System.out.print(C[i][k]+" ");
        		} System.out.print(C[i][k]+" ") System.out.print System.out System System.out C[i][k]+" " C[i][k] C[i] C i k " " {
        			System.out.println(C[i][k]);
        		} System.out.println(C[i][k]) System.out.println System.out System System.out C[i][k] C[i] C i k String[] args args
import java.util.Scanner;

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

        int n = scan.nextInt();
        int m = scan.nextInt();
        int l = scan.nextInt();
        long [][]A;
        A = new long[n][m];
        long [][]B;
        B = new long[m][l];
        long [][]C;
        C = new long[n][l];
        int i,j,k;

        for(i = 0; i < n; i++){
            for(j = 0; j < m; j++){
            A[i][j] = scan.nextLong();
            }
        }
        for(j = 0; j < m; j++){
            for(k = 0; k < l; k++){
            B[j][k] = scan.nextLong();
            }
        }
        for(k = 0; k < l; k++){
            for(j = 0; j < m; j++){
                for(i = 0; i < n; i++){
                C[i][k] += A[i][j]*B[j][k];
                }
            }
        }
        for(i = 0; i< n; i++){
        	for(k = 0; k< l; k++){
        		if(k != l-1){
        			System.out.print(C[i][k]+" ");
        		}
        		else{
        			System.out.println(C[i][k]);
        		}
        	}
        }      
    }
}     