

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

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

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

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

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		}
	} main {

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		}
	} Scanner in = new Scanner(System.in); in new Scanner(System.in) int line = in.nextInt(); line in.nextInt() in.nextInt in int line_column = in.nextInt(); line_column in.nextInt() in.nextInt in int column = in.nextInt(); column in.nextInt() in.nextInt in int[][] matrixA = new int[line][line_column]; matrixA new int[line][line_column] line line_column int[][] matrixB = new int[line_column][column]; matrixB new int[line_column][column] line_column column for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		} int i = 0; int i = 0; i 0 i < line i line i++ i++ i {

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		} {

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		} for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			} int j = 0; int j = 0; j 0 j < line_column j line_column j++ j++ j {

				matrixA[i][j] = in.nextInt();

			} {

				matrixA[i][j] = in.nextInt();

			} matrixA[i][j] = in.nextInt() matrixA[i][j] matrixA[i] matrixA i j in.nextInt() in.nextInt in for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		} int j = 0; int j = 0; j 0 j < line_column j line_column j++ j++ j {

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		} {

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		} for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			} int k = 0; int k = 0; k 0 k < column k column k++ k++ k {

				matrixB[j][k] = in.nextInt();

			} {

				matrixB[j][k] = in.nextInt();

			} matrixB[j][k] = in.nextInt() matrixB[j][k] matrixB[j] matrixB j k in.nextInt() in.nextInt in long[][] ans = new long[line][column]; ans new long[line][column] line column for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		} int i = 0; int i = 0; i 0 i < line i line i++ i++ i {

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		} {

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		} for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			} int j = 0; int j = 0; j 0 j < line_column j line_column j++ j++ j {

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			} {

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			} for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				} int k = 0; int k = 0; k 0 k < column k column k++ k++ k {

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				} {

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				} ans[i][k] += matrixA[i][j] * matrixB[j][k] ans[i][k] ans[i] ans i k matrixA[i][j] * matrixB[j][k] matrixA[i][j] matrixA[i] matrixA i j matrixB[j][k] matrixB[j] matrixB j k for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		} int i = 0; int i = 0; i 0 i < line i line i++ i++ i {

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		} {

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		} for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			} int k = 0; int k = 0; k 0 k < column - 1 k column - 1 column 1 k++ k++ k {

				System.out.print(ans[i][k] + " ");

			} {

				System.out.print(ans[i][k] + " ");

			} System.out.print(ans[i][k] + " ") System.out.print System.out System System.out ans[i][k] + " " ans[i][k] ans[i] ans i k " " System.out.println(ans[i][column - 1]) System.out.println System.out System System.out ans[i][column - 1] ans[i] ans i column - 1 column 1 String[] args args public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		}
	}
} public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		}
	}
} Main


import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);

		// ??????A????????°?????????
		int line = in.nextInt();
		// ??????A????????°????????????B????????°?????????
		int line_column = in.nextInt();
		// ??????B????????°?????????
		int column = in.nextInt();

		// ??????A,B???????´??????????????????¨???
		int[][] matrixA = new int[line][line_column];
		int[][] matrixB = new int[line_column][column];

		// ??????A?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				matrixA[i][j] = in.nextInt();

			}
		}

		// ??????B?????????????´?
		for(int j = 0; j < line_column; j++){

			for(int k = 0; k < column; k++){

				matrixB[j][k] = in.nextInt();

			}
		}

		// ??????A,B?????????????´??????????????????¨???
		long[][] ans = new long[line][column];

		// ??????A.B?????????????´?
		for(int i = 0; i < line; i++){

			for(int j = 0; j < line_column; j++){

				for(int k = 0; k < column; k++){

					ans[i][k] += matrixA[i][j] * matrixB[j][k];

				}
			}
		}

		// ??????A,B???????????????
		for(int i = 0; i < line; i++){

			for(int k = 0; k < column - 1; k++){

				System.out.print(ans[i][k] + " ");

			}

			System.out.println(ans[i][column - 1]);

		}
	}
}