import java.io.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] f=br.readLine().split(" ");
        int n=Integer.parseInt(f[0]);
        int m=Integer.parseInt(f[1]);
        int l=Integer.parseInt(f[2]);
        int[][] A=new int[n][m];
        int[][] B=new int[m][l];
        for(int i=0;i<n;i++){
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        }
        for(int i=0;i<m;i++){
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        }
    	StringBuilder sb = new StringBuilder();
        for(int nc=0;nc<n;nc++){
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        }
    	System.out.print(sb);
	}
} import java.io.*; io.* java class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] f=br.readLine().split(" ");
        int n=Integer.parseInt(f[0]);
        int m=Integer.parseInt(f[1]);
        int l=Integer.parseInt(f[2]);
        int[][] A=new int[n][m];
        int[][] B=new int[m][l];
        for(int i=0;i<n;i++){
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        }
        for(int i=0;i<m;i++){
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        }
    	StringBuilder sb = new StringBuilder();
        for(int nc=0;nc<n;nc++){
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        }
    	System.out.print(sb);
	}
} Main public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] f=br.readLine().split(" ");
        int n=Integer.parseInt(f[0]);
        int m=Integer.parseInt(f[1]);
        int l=Integer.parseInt(f[2]);
        int[][] A=new int[n][m];
        int[][] B=new int[m][l];
        for(int i=0;i<n;i++){
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        }
        for(int i=0;i<m;i++){
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        }
    	StringBuilder sb = new StringBuilder();
        for(int nc=0;nc<n;nc++){
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        }
    	System.out.print(sb);
	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] f=br.readLine().split(" ");
        int n=Integer.parseInt(f[0]);
        int m=Integer.parseInt(f[1]);
        int l=Integer.parseInt(f[2]);
        int[][] A=new int[n][m];
        int[][] B=new int[m][l];
        for(int i=0;i<n;i++){
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        }
        for(int i=0;i<m;i++){
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        }
    	StringBuilder sb = new StringBuilder();
        for(int nc=0;nc<n;nc++){
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        }
    	System.out.print(sb);
	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String[] f=br.readLine().split(" "); f br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " int n=Integer.parseInt(f[0]); n Integer.parseInt(f[0]) Integer.parseInt Integer f[0] f 0 int m=Integer.parseInt(f[1]); m Integer.parseInt(f[1]) Integer.parseInt Integer f[1] f 1 int l=Integer.parseInt(f[2]); l Integer.parseInt(f[2]) Integer.parseInt Integer f[2] f 2 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 for(int i=0;i<n;i++){
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        } {
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        } String[] s=br.readLine().split(" "); s br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	} int j=0; int j=0; j 0 j<m j m j++ j++ j {
        		A[i][j]=Integer.parseInt(s[j]);
        	} {
        		A[i][j]=Integer.parseInt(s[j]);
        	} A[i][j]=Integer.parseInt(s[j]) A[i][j] A[i] A i j Integer.parseInt(s[j]) Integer.parseInt Integer s[j] s j for(int i=0;i<m;i++){
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        } int i=0; int i=0; i 0 i<m i m i++ i++ i {
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        } {
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        } String[] t=br.readLine().split(" "); t br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	} int j=0; int j=0; j 0 j<l j l j++ j++ j {
        		B[i][j]=Integer.parseInt(t[j]);
        	} {
        		B[i][j]=Integer.parseInt(t[j]);
        	} B[i][j]=Integer.parseInt(t[j]) B[i][j] B[i] B i j Integer.parseInt(t[j]) Integer.parseInt Integer t[j] t j StringBuilder sb = new StringBuilder(); sb new StringBuilder() for(int nc=0;nc<n;nc++){
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        } int nc=0; int nc=0; nc 0 nc<n nc n nc++ nc++ nc {
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        } {
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        } for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	} int lc=0; int lc=0; lc 0 lc<l lc l lc++ lc++ lc {
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	} {
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	} long b=0; b 0 for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	} int mc=0; int mc=0; mc 0 mc<m mc m mc++ mc++ mc {
            		b+=A[nc][mc]*B[mc][lc];
            	} {
            		b+=A[nc][mc]*B[mc][lc];
            	} b+=A[nc][mc]*B[mc][lc] b A[nc][mc]*B[mc][lc] A[nc][mc] A[nc] A nc mc B[mc][lc] B[mc] B mc lc sb.append(b) sb.append sb b if(lc!=l-1) sb.append(" "); lc!=l-1 lc l-1 l 1 sb.append(" ") sb.append sb " " sb.append("\n") sb.append sb "\n" System.out.print(sb) System.out.print System.out System System.out sb String[] args args
import java.io.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] f=br.readLine().split(" ");
        int n=Integer.parseInt(f[0]);
        int m=Integer.parseInt(f[1]);
        int l=Integer.parseInt(f[2]);
        int[][] A=new int[n][m];
        int[][] B=new int[m][l];
        for(int i=0;i<n;i++){
        	String[] s=br.readLine().split(" ");
        	for(int j=0;j<m;j++){
        		A[i][j]=Integer.parseInt(s[j]);
        	}
        }
        for(int i=0;i<m;i++){
        	String[] t=br.readLine().split(" ");
        	for(int j=0;j<l;j++){
        		B[i][j]=Integer.parseInt(t[j]);
        	}
        }
    	StringBuilder sb = new StringBuilder();
        for(int nc=0;nc<n;nc++){
        	for(int lc=0;lc<l;lc++){
        		long b=0;
            	for(int mc=0;mc<m;mc++){
            		b+=A[nc][mc]*B[mc][lc];
            	}
            	sb.append(b);
            	if(lc!=l-1) sb.append(" ");
        	}
        	sb.append("\n");
        }
    	System.out.print(sb);
	}
}