import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	}

} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	}

} Main public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	} main {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	} 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 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 i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		} {
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		} for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			} int i2=0; int i2=0; i2 0 i2<m i2 m i2++ i2++ i2 {
				int x = scan.nextInt();
				A[i][i2] = x;
			} {
				int x = scan.nextInt();
				A[i][i2] = x;
			} int x = scan.nextInt(); x scan.nextInt() scan.nextInt scan A[i][i2] = x A[i][i2] A[i] A i i2 x for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		} int i=0; int i=0; i 0 i<m i m i++ i++ i {
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		} {
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		} for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			} int i2=0; int i2=0; i2 0 i2<l i2 l i2++ i2++ i2 {
				int x = scan.nextInt();
				B[i][i2] = x;
			} {
				int x = scan.nextInt();
				B[i][i2] = x;
			} int x = scan.nextInt(); x scan.nextInt() scan.nextInt scan B[i][i2] = x B[i][i2] B[i] B i i2 x for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		} {
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		} int x = 0; x 0 long y = 0; y 0 for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			} int j=0; int j=0; j 0 j<l j l j++ j++ j {
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			} {
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			} long C = 0; C 0 for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				} int k=0; int k=0; k 0 k<m k m k++ k++ k {
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				} {
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				} y = A[i][k]*B[k][j] y A[i][k]*B[k][j] A[i][k] A[i] A i k B[k][j] B[k] B k j C = C + y C C + y C y if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					} k == (m-1) k (m-1) m 1 {
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					} System.out.print(C) System.out.print System.out System System.out C x++ x if(x == l) x = 0;
						else System.out.print(" "); x == l x l x = 0 x 0 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) {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	}

} public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????

		Scanner scan = new Scanner(System.in);
		// ??\???
		int n = scan.nextInt();
		int m = scan.nextInt();
		int l = scan.nextInt();
		// ???????????£?¨?
		int A[][] = new int[n][m];
		int B[][] = new int[m][l];
		// ?????????????´?
		for(int i=0; i<n; i++){
			for(int i2=0; i2<m; i2++){
				int x = scan.nextInt();
				A[i][i2] = x;
			}
		}
		for(int i=0; i<m; i++){
			for(int i2=0; i2<l; i2++){
				int x = scan.nextInt();
				B[i][i2] = x;
			}
		}
		
		// 	???????±????????
		for(int i=0; i<n; i++){
			int x = 0;
			long y = 0;
			for(int j=0; j<l; j++){
				long C = 0;
				for (int k=0; k<m; k++){
					y = A[i][k]*B[k][j];
					C = C + y;
					// ??????
					if(k == (m-1)){
						System.out.print(C);
						x++;
						if(x == l) x = 0;
						else System.out.print(" ");
						
					}
				}
			}
			System.out.println();
		}
			
		
	}

}