import java.util.Scanner;

public class Main {
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	}
}
 import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	}
} Main public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	} main {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int m = sc.nextInt(); m sc.nextInt() sc.nextInt sc int l = sc.nextInt(); l sc.nextInt() sc.nextInt sc long[][] a = new long[100][101]; a new long[100][101] 100 101 long[][] b = new long[101][100]; b new long[101][100] 101 100 long[][] c = new long[100][100]; c new long[100][100] 100 100 int i  = 0; i 0 int j  = 0; j 0 int k  = 0; k 0 for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		} i = 0; i = 0 i 0 i < n i n i++ i++ i {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		} {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		} for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			} k = 1; k = 1 k 1 k <= m k m k++ k++ k {
				a[i][k] = sc.nextInt();
			} {
				a[i][k] = sc.nextInt();
			} a[i][k] = sc.nextInt() a[i][k] a[i] a i k sc.nextInt() sc.nextInt sc for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		} k = 1; k = 1 k 1 k <= m k m k++ k++ k {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		} {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		} for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			} j = 0; j = 0 j 0 j < l j l j++ j++ j {
				b[k][j] = sc.nextInt();
			} {
				b[k][j] = sc.nextInt();
			} b[k][j] = sc.nextInt() b[k][j] b[k] b k j sc.nextInt() sc.nextInt sc for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		} i = 0; i = 0 i 0 i < n i n i++ i++ i {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		} {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		} for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			} j = 0; j = 0 j 0 j < l j l j++ j++ j {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			} {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			} for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				} k = 1; k = 1 k 1 k <= m k m k++ k++ k {
					c[i][j] += a[i][k] * b[k][j];
				} {
					c[i][j] += a[i][k] * b[k][j];
				} c[i][j] += a[i][k] * b[k][j] c[i][j] c[i] c i j a[i][k] * b[k][j] a[i][k] a[i] a i k b[k][j] b[k] b k j if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				} j < l-1 j l-1 l 1 {
					System.out.print(c[i][j] + " ");
				} System.out.print(c[i][j] + " ") System.out.print System.out System System.out c[i][j] + " " c[i][j] c[i] c i j " " {
					System.out.print(c[i][j]);
				} System.out.print(c[i][j]) System.out.print System.out System System.out c[i][j] c[i] c i j System.out.println() System.out.println System.out System System.out sc.close() sc.close sc String args[] args public class Main {
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	}
} public class Main {
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int l = sc.nextInt();
		long[][] a = new long[100][101];
		long[][] b = new long[101][100];
		long[][] c = new long[100][100];
		int i  = 0;
		int j  = 0;
		int k  = 0;

		for(i = 0; i < n; i++) {
			for(k = 1; k <= m; k++) {
				a[i][k] = sc.nextInt();
			}
		}

		for(k = 1; k <= m; k++) {
			for(j = 0; j < l; j++) {
				b[k][j] = sc.nextInt();
			}
		}

		for(i = 0; i < n; i++) {
			for(j = 0; j < l; j++) {
				for(k = 1; k <= m; k++) {
					c[i][j] += a[i][k] * b[k][j];
				}
				if(j < l-1) {
					System.out.print(c[i][j] + " ");
				}else {
					System.out.print(c[i][j]);
				}
			}
			System.out.println();
		}
		sc.close();
	}
}

