import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    }
} import java.util.Scanner; Scanner java.util public class Main{
    public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    }
} Main public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    } main {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	} scan.hasNext() scan.hasNext scan {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	} int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan int m = scan.nextInt(); m scan.nextInt() scan.nextInt scan int l = scan.nextInt(); l scan.nextInt() scan.nextInt scan 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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    } {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    } for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		} int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
		    a[i][j] = scan.nextInt();
		} {
		    a[i][j] = scan.nextInt();
		} a[i][j] = scan.nextInt() a[i][j] a[i] a i j scan.nextInt() scan.nextInt scan for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    } int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    } {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    } for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		} int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
		    b[i][j] = scan.nextInt();
		} {
		    b[i][j] = scan.nextInt();
		} b[i][j] = scan.nextInt() b[i][j] b[i] b i j scan.nextInt() scan.nextInt scan for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(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] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    } {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    } for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(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] += (long)(a[i][k] * b[k][j]);
		    }
		} {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		} for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    } int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    } {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    } c[i][j] += (long)(a[i][k] * b[k][j]) c[i][j] c[i] c i j (long)(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++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    } {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    } System.out.print(c[i][0]) System.out.print System.out System System.out c[i][0] c[i] c i 0 for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		} int j = 1; int j = 1; j 1 j < l j l j++ j++ j {
		    System.out.print(" " + c[i][j]);
		} {
		    System.out.print(" " + c[i][j]);
		} System.out.print(" " + c[i][j]) System.out.print System.out System System.out " " + c[i][j] " " 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) {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    }
} public class Main{
    public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    }
} Main
import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	while (scan.hasNext()) {
	    int n = scan.nextInt();
	    int m = scan.nextInt();
	    int l = scan.nextInt();
	    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++) {
		for (int j = 0; j < m; j++) {
		    a[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < m; i++) {
		for (int j = 0; j < l; j++) {
		    b[i][j] = scan.nextInt();
		}
	    }
	    for (int i = 0; i < n; i++) {
		for (int j = 0; j < l; j++) {
		    for (int k = 0; k < m; k++) {
			c[i][j] += (long)(a[i][k] * b[k][j]);
		    }
		}
	    }
	    for (int i = 0; i < n; i++) {
		System.out.print(c[i][0]);
		for (int j = 1; j < l; j++) {
		    System.out.print(" " + c[i][j]);
		}
		System.out.println();
	    }
	}
    }
}