import java.util.*;
 
public 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();
		
		
		int[][] vecA = new int[n][m];
		int[][] vecB = new int[m][l];
		
		// input
		for( int i = 0; i < n; i++ ) {
			for( int j = 0; j < m; j++ ) {
				vecA[i][j] = scan.nextInt();
				
			}
		}
		
		for( int i = 0; i < m; i++ ) {
			for( int j = 0; j < l; j++ ) {
				vecB[i][j] = scan.nextInt();
				
			}
		}
		
		int[][] vecC = new int[n][l];
		for( int i = 0; i < n; i++ ) {
			for( int k = 0; k < l; k++ ) {
				long sum = 0;
				
				for( int j = 0; j < m; j++ ) {
					sum += vecA[i][j] * vecB[j][k];
					
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
				
			}
			System.out.println();
		}
		
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz