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

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	}

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

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	}

} Main public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	} main {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n n m m l; l n = sc.nextInt() n sc.nextInt() sc.nextInt sc m = sc.nextInt() m sc.nextInt() sc.nextInt sc l = sc.nextInt() l sc.nextInt() sc.nextInt sc long matrix_a[][] = new long[n][m]; matrix_a new long[n][m] n m long matrix_b[][] = new long[m][l]; matrix_b new long[m][l] m l long matrix_c[][] = new long[n][l]; matrix_c new long[n][l] n l for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		} {
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		} for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				matrix_c[i][j] = 0;
			} {
				matrix_c[i][j] = 0;
			} matrix_c[i][j] = 0 matrix_c[i][j] matrix_c[i] matrix_c i j 0 for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		} {
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		} for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
				matrix_a[i][j] = sc.nextInt();
			} {
				matrix_a[i][j] = sc.nextInt();
			} matrix_a[i][j] = sc.nextInt() matrix_a[i][j] matrix_a[i] matrix_a i j sc.nextInt() sc.nextInt sc for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		} int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		} {
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		} for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				matrix_b[i][j] = sc.nextInt();
			} {
				matrix_b[i][j] = sc.nextInt();
			} matrix_b[i][j] = sc.nextInt() matrix_b[i][j] matrix_b[i] matrix_b i j sc.nextInt() sc.nextInt sc for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		} {
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		} for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			} {
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			} for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				} int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				} {
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				} matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j] matrix_c[i][j] matrix_c[i] matrix_c i j matrix_a[i][k] * matrix_b[k][j] matrix_a[i][k] matrix_a[i] matrix_a i k matrix_b[k][j] matrix_b[k] matrix_b k j for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					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(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		} {
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		} for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			} {
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			} System.out.print(matrix_c[i][j]) System.out.print System.out System System.out matrix_c[i][j] matrix_c[i] matrix_c i j if(j + 1 != l){
					System.out.print(" ");
				} j + 1 != l j + 1 j 1 l {
					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) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	}

} public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	}

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

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n,m,l;
		n = sc.nextInt();
		m = sc.nextInt();
		l = sc.nextInt();
		long matrix_a[][] = new long[n][m];
		long matrix_b[][] = new long[m][l];
		long matrix_c[][] = new long[n][l];

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				matrix_c[i][j] = 0;
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				matrix_a[i][j] = sc.nextInt();
			}
		}
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				matrix_b[i][j] = sc.nextInt();
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				for(int k = 0; k < m; k++){
					matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j];
				}
			}
		}

		for(int i = 0; i < n; i++){
			for(int j = 0; j < l; j++){
				System.out.print(matrix_c[i][j]);
				if(j + 1 != l){
					System.out.print(" ");
				}
			}
			System.out.println();
		}


	}

}