import java.util.Scanner;

//20180510
//02

public class Main {
    public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    }
} Main public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    } main {
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    } Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int n = scanner.nextInt(); n scanner.nextInt() scanner.nextInt scanner int m = scanner.nextInt(); m scanner.nextInt() scanner.nextInt scanner int l = scanner.nextInt(); l scanner.nextInt() scanner.nextInt scanner long[][] a = new long[n][m]; a new long[n][m] n m long[][] b = new long[m][l]; b new long[m][l] m l long[][] c = new long[n][l]; c new long[n][l] n l for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		} int x = 0; int x = 0; x 0 x < n x n x++ x++ x {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		} {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		} for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			} int y = 0; int y = 0; y 0 y < m y m y++ y++ y {
				a[x][y] = scanner.nextLong();
			} {
				a[x][y] = scanner.nextLong();
			} a[x][y] = scanner.nextLong() a[x][y] a[x] a x y scanner.nextLong() scanner.nextLong scanner for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		} int x = 0; int x = 0; x 0 x < m x m x++ x++ x {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		} {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		} for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			} int y = 0; int y = 0; y 0 y < l y l y++ y++ y {
				b[x][y] = scanner.nextLong();
			} {
				b[x][y] = scanner.nextLong();
			} b[x][y] = scanner.nextLong() b[x][y] b[x] b x y scanner.nextLong() scanner.nextLong scanner for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		} int x = 0; int x = 0; x 0 x < n x n x++ x++ x {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		} {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		} for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			} int y = 0; int y = 0; y 0 y < l y l y++ y++ y {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			} {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			} for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				} int z = 0; int z = 0; z 0 z < m z m z++ z++ z {
					c[x][y] += a[x][z] * b[z][y];
				} {
					c[x][y] += a[x][z] * b[z][y];
				} c[x][y] += a[x][z] * b[z][y] c[x][y] c[x] c x y a[x][z] * b[z][y] a[x][z] a[x] a x z b[z][y] b[z] b z y for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		} int x = 0; int x = 0; x 0 x < n x n x++ x++ x {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		} {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		} for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			} int y = 0; int y = 0; y 0 y < l-1 y l-1 l 1 y++ y++ y {
					System.out.printf("%d ",c[x][y]);
			} {
					System.out.printf("%d ",c[x][y]);
			} System.out.printf("%d ",c[x][y]) System.out.printf System.out System System.out "%d " c[x][y] c[x] c x y System.out.println(c[x][l-1]) System.out.println System.out System System.out c[x][l-1] c[x] c x l-1 l 1 scanner.close() scanner.close scanner String[] args args public class Main {
    public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    }
} public class Main {
    public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    }
} Main
import java.util.Scanner;

//20180510
//02

public class Main {
    public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);

		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int l = scanner.nextInt();
		long[][] a = new long[n][m];
		long[][] b = new long[m][l];
		long[][] c = new long[n][l];

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < m; y++) {
				a[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < m;x++) {
			for (int y = 0; y < l; y++) {
				b[x][y] = scanner.nextLong();
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l; y++) {
				for (int z = 0; z < m; z++) {
					c[x][y] += a[x][z] * b[z][y];
				}
			}
		}

		for(int x = 0;x < n;x++) {
			for (int y = 0; y < l-1; y++) {
					System.out.printf("%d ",c[x][y]);
			}
			System.out.println(c[x][l-1]);
		}

		scanner.close();
    }
}
