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

public class Main {

    public static void main(String[] args) throws IOException {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(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 {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(sb);

    }

} Main public static void main(String[] args) throws IOException {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(sb);

    } main {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(sb);

    } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String[] input = br.readLine().split(" "); input br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " int n = 0 n 0 m = 0 m 0 l = 0; l 0 n = Integer.parseInt(input[0]) n Integer.parseInt(input[0]) Integer.parseInt Integer input[0] input 0 m = Integer.parseInt(input[1]) m Integer.parseInt(input[1]) Integer.parseInt Integer input[1] input 1 l = Integer.parseInt(input[2]) l Integer.parseInt(input[2]) Integer.parseInt Integer input[2] input 2 long[][] matrixA = new long[n][m]; matrixA new long[n][m] n m long[][] matrixB = new long[m][l]; matrixB new long[m][l] m l long[][] ansMatrix = new long[n][l]; ansMatrix new long[n][l] n l for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        } {
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        } String[] line1 = br.readLine().split(" "); line1 br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            } int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
                matrixA[i][j] = Integer.parseInt(line1[j]);
            } {
                matrixA[i][j] = Integer.parseInt(line1[j]);
            } matrixA[i][j] = Integer.parseInt(line1[j]) matrixA[i][j] matrixA[i] matrixA i j Integer.parseInt(line1[j]) Integer.parseInt Integer line1[j] line1 j for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        } int i = 0; int i = 0; i 0 i < m i m i++ i++ i {
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        } {
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        } String[] line2 = br.readLine().split(" "); line2 br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
                matrixB[i][j] = Integer.parseInt(line2[j]);
            } {
                matrixB[i][j] = Integer.parseInt(line2[j]);
            } matrixB[i][j] = Integer.parseInt(line2[j]) matrixB[i][j] matrixB[i] matrixB i j Integer.parseInt(line2[j]) Integer.parseInt Integer line2[j] line2 j for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[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++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        } {
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        } for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            } {
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            } for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                } int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                } {
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                } ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j] ansMatrix[i][j] ansMatrix[i] ansMatrix i j matrixA[i][k] * matrixB[k][j] matrixA[i][k] matrixA[i] matrixA i k matrixB[k][j] matrixB[k] matrixB k j StringBuilder sb = new StringBuilder(); sb new StringBuilder() for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        } {
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        } for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            } {
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            } sb.append(ansMatrix[i][j]) sb.append sb ansMatrix[i][j] ansMatrix[i] ansMatrix i j if(j!=l-1)sb.append(" "); j!=l-1 j l-1 l 1 sb.append(" ") sb.append sb " " if(i!=n-1)sb.append("\n"); i!=n-1 i n-1 n 1 sb.append("\n") sb.append sb "\n" System.out.println(sb) System.out.println System.out System System.out sb String[] args args public class Main {

    public static void main(String[] args) throws IOException {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(sb);

    }

} public class Main {

    public static void main(String[] args) throws IOException {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(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 {
        // TODO 自動生成されたメソッド・スタブ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int n = 0 , m = 0,l = 0;
        //input
        n = Integer.parseInt(input[0]);
        m = Integer.parseInt(input[1]);
        l = Integer.parseInt(input[2]);
        //InputMatrix
        long[][] matrixA = new long[n][m];
        long[][] matrixB = new long[m][l];
        long[][] ansMatrix = new long[n][l];

        for(int i = 0;i < n;i++){
            String[] line1 = br.readLine().split(" ");
            for(int j = 0;j < m;j++){
                matrixA[i][j] = Integer.parseInt(line1[j]);
            }
        }
        for(int i = 0;i < m;i++){
            String[] line2 = br.readLine().split(" ");
            for(int j = 0;j < l;j++){
                matrixB[i][j] = Integer.parseInt(line2[j]);
            }
        }
        //Calculate
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                for(int k = 0;k < m;k++){
                    ansMatrix[i][j] += matrixA[i][k] * matrixB[k][j];
                }
            }
        }
        //Output
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < n;i++){
            for(int j = 0;j < l;j++){
                sb.append(ansMatrix[i][j]);
                if(j!=l-1)sb.append(" ");
            }
            if(i!=n-1)sb.append("\n");
        }
        System.out.println(sb);

    }

}

