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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    }
} Main public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    } main {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String 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 result; result StringBuilder sb = new StringBuilder(); sb new StringBuilder() 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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        } int i=0; int i=0; i 0 i<n i n i++ i++ i {
            for(int j=0;j<l;j++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        } {
            for(int j=0;j<l;j++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        } for(int j=0;j<l;j++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            } int j=0; int j=0; j 0 j<l j l j++ j++ j {
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            } {
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            } result = 0 result 0 for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                } int k=0; int k=0; k 0 k<m k m k++ k++ k {
                    result += a[i][k] * b[k][j];
                } {
                    result += a[i][k] * b[k][j];
                } result += a[i][k] * b[k][j] result a[i][k] * b[k][j] a[i][k] a[i] a i k b[k][j] b[k] b k j if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n"); j<l-1 j l-1 l 1 sb.append(result).append(" ") sb.append(result).append sb.append(result) sb.append sb result " " sb.append(result).append("\n") sb.append(result).append sb.append(result) sb.append sb result "\n" System.out.print(sb) System.out.print System.out System System.out sb String[] args args public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    }
} public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    }
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String 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 result;
        StringBuilder sb = new StringBuilder();
        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++){
                result = 0;
                for(int k=0;k<m;k++){
                    result += a[i][k] * b[k][j];
                }
                if(j<l-1) sb.append(result).append(" ");
                else sb.append(result).append("\n");
            }
        }
        System.out.print(sb);
    }
}