import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

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

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	}

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

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	}

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

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	} main {
		Scanner sc = new Scanner(System.in);

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) final int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc final int m = sc.nextInt(); m sc.nextInt() sc.nextInt sc final int l = sc.nextInt(); l sc.nextInt() sc.nextInt sc int[][] mat1 = new int[n][m]; mat1 new int[n][m] n m int[][] mat2 = new int[m][l]; mat2 new int[m][l] m l for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[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++){
				mat1[i][j] = sc.nextInt();
			}
		} {
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		} for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
				mat1[i][j] = sc.nextInt();
			} {
				mat1[i][j] = sc.nextInt();
			} mat1[i][j] = sc.nextInt() mat1[i][j] mat1[i] mat1 i j sc.nextInt() sc.nextInt sc for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[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++){
				mat2[i][j] = sc.nextInt();
			}
		} {
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		} for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
				mat2[i][j] = sc.nextInt();
			} {
				mat2[i][j] = sc.nextInt();
			} mat2[i][j] = sc.nextInt() mat2[i][j] mat2[i] mat2 i j sc.nextInt() sc.nextInt sc for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		} {
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		} for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			} int k = 0; int k = 0; k 0 k < l k l k++ k++ k {
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			} {
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			} long sum = 0; sum 0 for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
					sum += mat1[i][j] * mat2[j][k];
				} {
					sum += mat1[i][j] * mat2[j][k];
				} sum += mat1[i][j] * mat2[j][k] sum mat1[i][j] * mat2[j][k] mat1[i][j] mat1[i] mat1 i j mat2[j][k] mat2[j] mat2 j k System.out.print((k == 0 ? "" : " ") + sum) System.out.print System.out System System.out (k == 0 ? "" : " ") + sum (k == 0 ? "" : " ") k == 0 k 0 "" " " sum 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);

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	}

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

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	}

} Main
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

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

		final int n = sc.nextInt();
		final int m = sc.nextInt();
		final int l = sc.nextInt();
		
		int[][] mat1 = new int[n][m];
		int[][] mat2 = new int[m][l];
		
		for(int i = 0; i < n; i++){
			for(int j = 0; j < m; j++){
				mat1[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < m; i++){
			for(int j = 0; j < l; j++){
				mat2[i][j] = sc.nextInt();
			}
		}
		
		for(int i = 0; i < n; i++){
			for(int k = 0; k < l; k++){
				long sum = 0;
				
				for(int j = 0; j < m; j++){
					sum += mat1[i][j] * mat2[j][k];
				}
				
				System.out.print((k == 0 ? "" : " ") + sum);
			}
			System.out.println();
		}
	}

}