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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < 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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < 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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < 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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < 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 long[][] C = new long[n][l]; C new long[n][l] n l for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		} int ni=0; int ni=0; ni 0 ni < n ni n ni++ ni++ ni {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		} {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		} for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			} int mi=0; int mi=0; mi 0 mi < m mi m mi++ mi++ mi {
				A[ni][mi] = sc.nextInt();
			} {
				A[ni][mi] = sc.nextInt();
			} A[ni][mi] = sc.nextInt() A[ni][mi] A[ni] A ni mi sc.nextInt() sc.nextInt sc for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		} int mi=0; int mi=0; mi 0 mi < m mi m mi++ mi++ mi {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		} {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		} for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			} int li=0; int li=0; li 0 li < l li l li++ li++ li {
				B[mi][li] = sc.nextInt();
			} {
				B[mi][li] = sc.nextInt();
			} B[mi][li] = sc.nextInt() B[mi][li] B[mi] B mi li sc.nextInt() sc.nextInt sc for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		} int ni=0; int ni=0; ni 0 ni < n ni n ni++ ni++ ni {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		} {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		} for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			} int li=0; int li=0; li 0 li < l li l li++ li++ li {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			} {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			} for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				} int mi=0; int mi=0; mi 0 mi < m mi m mi++ mi++ mi {
					C[ni][li] += A[ni][mi] * B[mi][li];
				} {
					C[ni][li] += A[ni][mi] * B[mi][li];
				} C[ni][li] += A[ni][mi] * B[mi][li] C[ni][li] C[ni] C ni li A[ni][mi] * B[mi][li] A[ni][mi] A[ni] A ni mi B[mi][li] B[mi] B mi li for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		} int ni=0; int ni=0; ni 0 ni < n ni n ni++ ni++ ni {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		} {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		} for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			} int li=0; int li=0; li 0 li < l li l li++ li++ li {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			} {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			} System.out.print(C[ni][li]) System.out.print System.out System System.out C[ni][li] C[ni] C ni li if (li < l-1) {
					System.out.print(" ");
				} li < l-1 li 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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < 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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < 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();
		int[][] A = new int[n][m];
		int[][] B = new int[m][l];
		long[][] C = new long[n][l];
		for (int ni=0; ni < n; ni++) {
			for (int mi=0; mi < m; mi++) {
				A[ni][mi] = sc.nextInt();
			}
		}
		for (int mi=0; mi < m; mi++) {
			for (int li=0; li < l; li++) {
				B[mi][li] = sc.nextInt();
			}
		}
		//?¨????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				for (int mi=0; mi < m; mi++) {
					C[ni][li] += A[ni][mi] * B[mi][li];
				}
			}
		}
		//??????
		for (int ni=0; ni < n; ni++) {
			for (int li=0; li < l; li++) {
				System.out.print(C[ni][li]);
				if (li < l-1) {
					System.out.print(" ");
				}
			}
			System.out.println("");
		}

	}

}