import java.io.IOException;
import java.util.Scanner;

class Main {

	public static void main(String[] args) throws IOException {

		Scanner scane = new Scanner(System.in);

		int n = 0, m = 0, l = 0;

		n = scane.nextInt();
		m = scane.nextInt();
		l = scane.nextInt();

		int[][] A = new int[n][m];

		int[][] B = new int[m][l];

		for (int i = 0; i < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		}

		for (int i = 0; i < B.length; i++) {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		}

		long sum =0;
		int i;
		for (int k = 0; k < A.length; k++) {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		}

	}
} import java.io.IOException; IOException java.io import java.util.Scanner; Scanner java.util class Main {

	public static void main(String[] args) throws IOException {

		Scanner scane = new Scanner(System.in);

		int n = 0, m = 0, l = 0;

		n = scane.nextInt();
		m = scane.nextInt();
		l = scane.nextInt();

		int[][] A = new int[n][m];

		int[][] B = new int[m][l];

		for (int i = 0; i < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		}

		for (int i = 0; i < B.length; i++) {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		}

		long sum =0;
		int i;
		for (int k = 0; k < A.length; k++) {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		}

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

		Scanner scane = new Scanner(System.in);

		int n = 0, m = 0, l = 0;

		n = scane.nextInt();
		m = scane.nextInt();
		l = scane.nextInt();

		int[][] A = new int[n][m];

		int[][] B = new int[m][l];

		for (int i = 0; i < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		}

		for (int i = 0; i < B.length; i++) {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		}

		long sum =0;
		int i;
		for (int k = 0; k < A.length; k++) {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		}

	} main {

		Scanner scane = new Scanner(System.in);

		int n = 0, m = 0, l = 0;

		n = scane.nextInt();
		m = scane.nextInt();
		l = scane.nextInt();

		int[][] A = new int[n][m];

		int[][] B = new int[m][l];

		for (int i = 0; i < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		}

		for (int i = 0; i < B.length; i++) {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		}

		long sum =0;
		int i;
		for (int k = 0; k < A.length; k++) {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		}

	} Scanner scane = new Scanner(System.in); scane new Scanner(System.in) int n = 0 n 0 m = 0 m 0 l = 0; l 0 n = scane.nextInt() n scane.nextInt() scane.nextInt scane m = scane.nextInt() m scane.nextInt() scane.nextInt scane l = scane.nextInt() l scane.nextInt() scane.nextInt scane 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 < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		} int i = 0; int i = 0; i 0 i < A.length i A.length A A.length i++ i++ i {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		} {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		} for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			} int j = 0; int j = 0; j 0 j < A[0].length j A[0].length A[0] A 0 A[0].length j++ j++ j {
				A[i][j] = scane.nextInt();
			} {
				A[i][j] = scane.nextInt();
			} A[i][j] = scane.nextInt() A[i][j] A[i] A i j scane.nextInt() scane.nextInt scane for (int i = 0; i < B.length; i++) {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		} int i = 0; int i = 0; i 0 i < B.length i B.length B B.length i++ i++ i {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		} {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		} for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			} int j = 0; int j = 0; j 0 j < B[0].length j B[0].length B[0] B 0 B[0].length j++ j++ j {
				B[i][j] = scane.nextInt();
			} {
				B[i][j] = scane.nextInt();
			} B[i][j] = scane.nextInt() B[i][j] B[i] B i j scane.nextInt() scane.nextInt scane long sum =0; sum 0 int i; i for (int k = 0; k < A.length; k++) {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		} int k = 0; int k = 0; k 0 k < A.length k A.length A A.length k++ k++ k {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		} {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		} for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			} i = 0; i = 0 i 0 i < B[0].length i B[0].length B[0] B 0 B[0].length i++ i++ i {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			} {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			} sum =0 sum 0 for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				} int j = 0; int j = 0; j 0 j < B.length j B.length B B.length j++ j++ j {

					sum +=A[k][j] * B[j][i];
				} {

					sum +=A[k][j] * B[j][i];
				} sum +=A[k][j] * B[j][i] sum A[k][j] * B[j][i] A[k][j] A[k] A k j B[j][i] B[j] B j i if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				} i ==B[0].length-1 i B[0].length-1 B[0].length B[0] B 0 B[0].length 1 {
					System.out.print(sum);
				} System.out.print(sum) System.out.print System.out System System.out sum {
					System.out.print(sum+" ");
				} System.out.print(sum+" ") System.out.print System.out System System.out sum+" " sum " " System.out.println("") System.out.println System.out System System.out "" String[] args args
import java.io.IOException;
import java.util.Scanner;

class Main {

	public static void main(String[] args) throws IOException {

		Scanner scane = new Scanner(System.in);

		int n = 0, m = 0, l = 0;

		n = scane.nextInt();
		m = scane.nextInt();
		l = scane.nextInt();

		int[][] A = new int[n][m];

		int[][] B = new int[m][l];

		for (int i = 0; i < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				A[i][j] = scane.nextInt();
			}
		}

		for (int i = 0; i < B.length; i++) {
			for (int j = 0; j < B[0].length; j++) {
				B[i][j] = scane.nextInt();
			}
		}

		long sum =0;
		int i;
		for (int k = 0; k < A.length; k++) {
			for ( i = 0; i < B[0].length; i++) {
				sum =0;
				for (int j = 0; j < B.length; j++) {

					sum +=A[k][j] * B[j][i];
				}
				if(i ==B[0].length-1){
					System.out.print(sum);
				}else {
					System.out.print(sum+" ");
				}

			}
			System.out.println("");
		}

	}
}