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();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		}



}
 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();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		}



} 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();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		} main {
		
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		

		int m = sc.nextInt();
		
		int l = sc.nextInt();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		} 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 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++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		} {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		} for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			} {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			} int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc A[i][j] = a A[i][j] A[i] A i j a for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		} int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		} {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		} for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			} int p = 0; int p = 0; p 0 p < l p l p++ p++ p {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			} {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			} int b = sc.nextInt(); b sc.nextInt() sc.nextInt sc B[k][p] = b B[k][p] B[k] B k p b long sum = 0; sum 0 long seki = 0; seki 0 for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		} int q = 0; int q = 0; q 0 q < n q n q++ q++ q {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		} {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		} for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			} int r = 0; int r = 0; r 0 r < l r l r++ r++ r {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			} {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			} for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				} int s = 0; int s = 0; s 0 s < m s m s++ s++ s {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				} {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				} seki = A[q][s] * B[s][r] seki A[q][s] * B[s][r] A[q][s] A[q] A q s B[s][r] B[s] B s r sum = sum + seki sum sum + seki sum seki System.out.print(sum) System.out.print System.out System System.out sum sum = 0 sum 0 if(r != l - 1) {
					System.out.print(" ");
				} r != l - 1 r l - 1 l 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 "" 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();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		}



} 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();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		}



} 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();
		
		//n：Aの縦 m：Aの横Bの縦 l：Bの横
		
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		
		for(int i = 0;i < n;i++) {
			for(int j = 0;j < m;j++) {
				
				int a = sc.nextInt();
				
				
				A[i][j] = a;
				
				
			}
		}
		
		for(int k = 0;k < m;k++) {
			for(int p = 0;p < l;p++) {
				
				int b = sc.nextInt();
				
				B[k][p] = b;
				
				
			}
		}
		
		//Aの横とBの縦が同じことに注意する
		
		long sum = 0;
		long seki = 0;
		
		
		
		for(int q = 0;q < n;q++) {
			
			for(int r = 0;r < l;r++) {
				
				for(int s = 0;s < m;s++) {
					
					//sはAの横 rはBの縦 qはAの縦
					
					seki = A[q][s] * B[s][r];
					
					sum = sum + seki;
					
					
					
				}
				
				System.out.print(sum);
				
				sum = 0;
				if(r != l - 1) {
					System.out.print(" ");
				}
				
				
			}
			
			System.out.println("");
		}
		
		}



}

