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

public class Main {
	public static void main(String[] args){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
	public static void main(String[] args){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	}
} Main public static void main(String[] args){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String str[]; str try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		} catch (Exception e) {
			System.err.println(e);
		} Exception e {
			System.err.println(e);
		} System.err.println(e) System.err.println System.err System System.err e {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} str = br.readLine().split(" ") str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " int n = Integer.parseInt(str[0]); n Integer.parseInt(str[0]) Integer.parseInt Integer str[0] str 0 int m = Integer.parseInt(str[1]); m Integer.parseInt(str[1]) Integer.parseInt Integer str[1] str 1 int l = Integer.parseInt(str[2]); l Integer.parseInt(str[2]) Integer.parseInt Integer str[2] str 2 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 i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			} int i=0; int i=0; i 0 i<n i n i++ i++ i {
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			} {
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			} str = br.readLine().split(" ") str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				} int j=0; int j=0; j 0 j<m j m j++ j++ j {
					a[i][j]=Integer.parseInt(str[j]);
				} {
					a[i][j]=Integer.parseInt(str[j]);
				} a[i][j]=Integer.parseInt(str[j]) a[i][j] a[i] a i j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			} int i=0; int i=0; i 0 i<m i m i++ i++ i {
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			} {
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			} str = br.readLine().split(" ") str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				} int j=0; int j=0; j 0 j<l j l j++ j++ j {
					b[i][j]=Integer.parseInt(str[j]);
				} {
					b[i][j]=Integer.parseInt(str[j]);
				} b[i][j]=Integer.parseInt(str[j]) b[i][j] b[i] b i j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*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++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			} {
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			} for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*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++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				} {
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				} for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					} int k=0; int k=0; k 0 k<m k m k++ k++ k {
						c[i][j]+=a[i][k]*b[k][j];
					} {
						c[i][j]+=a[i][k]*b[k][j];
					} c[i][j]+=a[i][k]*b[k][j] c[i][j] c[i] c i j a[i][k]*b[k][j] a[i][k] a[i] a i k b[k][j] b[k] b k j for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				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++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			} {
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			} for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				} int j=0; int j=0; j 0 j<l j l j++ j++ j {
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				} {
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				} if(j != 0){
						System.out.print(" ");
					} j != 0 j 0 {
						System.out.print(" ");
					} System.out.print(" ") System.out.print System.out System System.out " " System.out.print(c[i][j]) System.out.print System.out System System.out c[i][j] c[i] c i j System.out.println() System.out.println System.out System System.out String[] args args public class Main {
	public static void main(String[] args){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	}
} public class Main {
	public static void main(String[] args){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str[];
		try {
			str = br.readLine().split(" ");
			int n = Integer.parseInt(str[0]);
			int m = Integer.parseInt(str[1]);
			int l = Integer.parseInt(str[2]);
			int a[][] = new int[n][m];
			int b[][] = new int[m][l];
			long c[][] = new long[n][l];
			for(int i=0;i<n;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<m;j++){
					a[i][j]=Integer.parseInt(str[j]);
				}
			}
			for(int i=0;i<m;i++){
				str = br.readLine().split(" ");
				for(int j=0;j<l;j++){
					b[i][j]=Integer.parseInt(str[j]);
				}
			}

			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					for(int k=0;k<m;k++){
						c[i][j]+=a[i][k]*b[k][j];
					}
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<l;j++){
					if(j != 0){
						System.out.print(" ");
					}
					System.out.print(c[i][j]);
				}
				System.out.println();
			}
		} catch (Exception e) {
			System.err.println(e);
		}
	}
}