import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	}

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

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	}

} Main public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	} main {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String line1 = sc.nextLine(); line1 sc.nextLine() sc.nextLine sc String[] line1b = line1.split(" "); line1b line1.split(" ") line1.split line1 " " int n = Integer.parseInt(line1b[0]); n Integer.parseInt(line1b[0]) Integer.parseInt Integer line1b[0] line1b 0 int m = Integer.parseInt(line1b[1]); m Integer.parseInt(line1b[1]) Integer.parseInt Integer line1b[1] line1b 1 int l = Integer.parseInt(line1b[2]); l Integer.parseInt(line1b[2]) Integer.parseInt Integer line1b[2] line1b 2 int[][] matA = new int[n][m]; matA new int[n][m] n m int[][] matB = new int[m][l]; matB new int[m][l] m l long[][] matC = new long[n][l]; matC new long[n][l] n l for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		} {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		} String kari = sc.nextLine(); kari sc.nextLine() sc.nextLine sc String[] strA = kari.split(" "); strA kari.split(" ") kari.split kari " " for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
				matA[i][j] = Integer.parseInt(strA[j]);
			} {
				matA[i][j] = Integer.parseInt(strA[j]);
			} matA[i][j] = Integer.parseInt(strA[j]) matA[i][j] matA[i] matA i j Integer.parseInt(strA[j]) Integer.parseInt Integer strA[j] strA j for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		} int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		} {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		} String kari = sc.nextLine(); kari sc.nextLine() sc.nextLine sc String[] strB = kari.split(" "); strB kari.split(" ") kari.split kari " " for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				matB[i][j] = Integer.parseInt(strB[j]);
			} {
				matB[i][j] = Integer.parseInt(strB[j]);
			} matB[i][j] = Integer.parseInt(strB[j]) matB[i][j] matB[i] matB i j Integer.parseInt(strB[j]) Integer.parseInt Integer strB[j] strB j for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		} {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		} for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			} {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			} for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				} int k = 0; int k = 0; k 0 k < l k l k++ k++ k {
					matC[i][k] += matA[i][j]*matB[j][k];
				} {
					matC[i][k] += matA[i][j]*matB[j][k];
				} matC[i][k] += matA[i][j]*matB[j][k] matC[i][k] matC[i] matC i k matA[i][j]*matB[j][k] matA[i][j] matA[i] matA i j matB[j][k] matB[j] matB j k for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		} {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		} for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			} {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			} System.out.print(matC[i][j]) System.out.print System.out System System.out matC[i][j] matC[i] matC i j if (j != l-1) {
					System.out.print(" ");
				} j != l-1 j 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) {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	}

} public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		Scanner sc = new Scanner(System.in);
		String line1 = sc.nextLine();
		String[] line1b = line1.split(" ");
		int n = Integer.parseInt(line1b[0]);
		int m = Integer.parseInt(line1b[1]);
		int l = Integer.parseInt(line1b[2]);

		int[][] matA = new int[n][m];
		int[][] matB = new int[m][l];
		
		long[][] matC = new long[n][l];

		for (int i = 0; i < n; i++) {
			String kari = sc.nextLine();
			String[] strA = kari.split(" ");
			for (int j = 0; j < m; j++) {
				matA[i][j] = Integer.parseInt(strA[j]);
			}
		}

		for (int i = 0; i < m; i++) {
			String kari = sc.nextLine();
			String[] strB = kari.split(" ");
			for (int j = 0; j < l; j++) {
				matB[i][j] = Integer.parseInt(strB[j]);
			}
		}
		
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				for (int k = 0; k < l; k++) {
					matC[i][k] += matA[i][j]*matB[j][k];
				}
			}
		}
		
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < l; j++) {
				System.out.print(matC[i][j]);
				if (j != l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	}

}