import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    }
} import java.io.*; io.* java import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    } main {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) PrintWriter pw = new PrintWriter(System.out); pw new PrintWriter(System.out) int n = Integer.parseInt(sc.next()); n Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int m = Integer.parseInt(sc.next()); m Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int l = Integer.parseInt(sc.next()); l Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc 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 i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
                a[i][j] = Integer.parseInt(sc.next()); 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] = Integer.parseInt(sc.next()); for (int j = 0; j < m; j++)
                a[i][j] = Integer.parseInt(sc.next()); int j = 0; int j = 0; j 0 j < m j m j++ j++ j a[i][j] = Integer.parseInt(sc.next()); a[i][j] = Integer.parseInt(sc.next()) a[i][j] a[i] a i j Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next()); 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] = Integer.parseInt(sc.next()); for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next()); int j = 0; int j = 0; j 0 j < l j l j++ j++ j b[i][j] = Integer.parseInt(sc.next()); b[i][j] = Integer.parseInt(sc.next()) b[i][j] b[i] b i j Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc 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]; 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]; 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] 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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            for (int j = 0; j < l; j++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        } {
            for (int j = 0; j < l; j++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        } for (int j = 0; j < l; j++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            } {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            } pw.print(c[i][j]) pw.print pw c[i][j] c[i] c i j if (j < l-1) pw.print(" "); j < l-1 j l-1 l 1 pw.print(" ") pw.print pw " " pw.println() pw.println pw pw.flush() pw.flush pw String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    }
} Main
import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PrintWriter pw = new PrintWriter(System.out);
        
        int n = Integer.parseInt(sc.next());
        int m = Integer.parseInt(sc.next());
        int l = Integer.parseInt(sc.next());
        long[][] a = new long[n][m];
        long[][] b = new long[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] = Integer.parseInt(sc.next());
        
        for (int i = 0; i < m; i++)
            for (int j = 0; j < l; j++)
                b[i][j] = Integer.parseInt(sc.next());
        
        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++) {
                pw.print(c[i][j]);
                if (j < l-1) pw.print(" ");
            }
            pw.println();
        }
        
        pw.flush();
    }
}
