import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
	public static void main(String[] args) {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
} Main public static void main(String[] args) {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	} main {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	} try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} Exception e {
			e.printStackTrace();
		} e.printStackTrace() e.printStackTrace e {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); input new BufferedReader(new InputStreamReader(System.in)) String[] nml = input.readLine().split(" "); nml input.readLine().split(" ") input.readLine().split input.readLine() input.readLine input " " int n = Integer.parseInt(nml[0]); n Integer.parseInt(nml[0]) Integer.parseInt Integer nml[0] nml 0 int m = Integer.parseInt(nml[1]); m Integer.parseInt(nml[1]) Integer.parseInt Integer nml[1] nml 1 int l = Integer.parseInt(nml[2]); l Integer.parseInt(nml[2]) Integer.parseInt Integer nml[2] nml 2 String[][] matrix1 = new String[n][m]; matrix1 new String[n][m] n m String[][] matrix2 = new String[m][l]; matrix2 new String[m][l] m l StringBuilder answer = new StringBuilder(); answer new StringBuilder() String lb = System.getProperty("line.separator"); lb System.getProperty("line.separator") System.getProperty System "line.separator" for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
				matrix1[i] = input.readLine().split(" ");
			} {
				matrix1[i] = input.readLine().split(" ");
			} matrix1[i] = input.readLine().split(" ") matrix1[i] matrix1 i input.readLine().split(" ") input.readLine().split input.readLine() input.readLine input " " for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			} int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
				matrix2[i] = input.readLine().split(" ");
			} {
				matrix2[i] = input.readLine().split(" ");
			} matrix2[i] = input.readLine().split(" ") matrix2[i] matrix2 i input.readLine().split(" ") input.readLine().split input.readLine() input.readLine input " " long sum; sum int s = l - 1; s l - 1 l 1 for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			} {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			} for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				} {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				} sum = 0 sum 0 for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					} int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					} {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					} sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]) sum Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]) Integer.parseInt(matrix1[i][k]) Integer.parseInt Integer matrix1[i][k] matrix1[i] matrix1 i k Integer.parseInt(matrix2[k][j]) Integer.parseInt Integer matrix2[k][j] matrix2[k] matrix2 k j answer.append(String.valueOf(sum)).append(j != s ? " "  : "") answer.append(String.valueOf(sum)).append answer.append(String.valueOf(sum)) answer.append answer String.valueOf(sum) String.valueOf String sum j != s ? " "  : "" j != s j s " " "" answer.append(lb) answer.append answer lb System.out.print(answer.toString()) System.out.print System.out System System.out answer.toString() answer.toString answer String[] args args public class Main {
	public static void main(String[] args) {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
} public class Main {
	public static void main(String[] args) {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) {
		try {
			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
			String[] nml = input.readLine().split(" ");
			int n = Integer.parseInt(nml[0]);
			int m = Integer.parseInt(nml[1]);
			int l = Integer.parseInt(nml[2]);
			String[][] matrix1 = new String[n][m];
			String[][] matrix2 = new String[m][l];
			StringBuilder answer = new StringBuilder();
			String lb = System.getProperty("line.separator");
			for (int i = 0; i < n; i++) {
				matrix1[i] = input.readLine().split(" ");
			}
			for (int i = 0; i < m; i++) {
				matrix2[i] = input.readLine().split(" ");
			}
			long sum;
			int s = l - 1;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < l; j++) {
					sum = 0;
					for (int k = 0; k < m; k++) {
						sum += Integer.parseInt(matrix1[i][k]) * Integer.parseInt(matrix2[k][j]);
					}
					answer.append(String.valueOf(sum)).append(j != s ? " "  : "");
				}
				answer.append(lb);
			}
			System.out.print(answer.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}