import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    }

    private static void print2DArray(long[][] array) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
} import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    }

    private static void print2DArray(long[][] array) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    } main {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()}; a new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()} int[][] x = new int[a[0]][a[1]]; x new int[a[0]][a[1]] a[0] a 0 a[1] a 1 int[][] y = new int[a[1]][a[2]]; y new int[a[1]][a[2]] a[1] a 1 a[2] a 2 long[][] z = new long[a[0]][a[2]]; z new long[a[0]][a[2]] a[0] a 0 a[2] a 2 for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        } int i = 0; int i = 0; i 0 i < a[0] i a[0] a 0 i++ i++ i {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        } {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        } for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            } int j = 0; int j = 0; j 0 j < a[1] j a[1] a 1 j++ j++ j {
                x[i][j] = sc.nextInt();
            } {
                x[i][j] = sc.nextInt();
            } x[i][j] = sc.nextInt() x[i][j] x[i] x i j sc.nextInt() sc.nextInt sc for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        } int i = 0; int i = 0; i 0 i < a[1] i a[1] a 1 i++ i++ i {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        } {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        } for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            } int j = 0; int j = 0; j 0 j < a[2] j a[2] a 2 j++ j++ j {
                y[i][j] = sc.nextInt();
            } {
                y[i][j] = sc.nextInt();
            } y[i][j] = sc.nextInt() y[i][j] y[i] y i j sc.nextInt() sc.nextInt sc for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        } int i = 0; int i = 0; i 0 i < a[0] i a[0] a 0 i++ i++ i {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        } {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        } for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            } int j = 0; int j = 0; j 0 j < a[2] j a[2] a 2 j++ j++ j {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            } {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            } long sum = 0; sum 0 for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                } int k = 0; int k = 0; k 0 k < a[1] k a[1] a 1 k++ k++ k {
                    sum += x[i][k] * y[k][j];
                } {
                    sum += x[i][k] * y[k][j];
                } sum += x[i][k] * y[k][j] sum x[i][k] * y[k][j] x[i][k] x[i] x i k y[k][j] y[k] y k j z[i][j] = sum z[i][j] z[i] z i j sum print2DArray(z) print2DArray z String[] args args private static void print2DArray(long[][] array) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    } print2DArray {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    } StringBuilder sb = new StringBuilder(); sb new StringBuilder() for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        } int i = 0; int i = 0; i 0 i < array.length i array.length array array.length i++ i++ i {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        } {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        } for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            } int j = 0; int j = 0; j 0 j < array[i].length j array[i].length array[i] array i array[i].length j++ j++ j {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            } {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            } sb.append(array[i][j]) sb.append sb array[i][j] array[i] array i j if (j != array[i].length - 1) {
                    sb.append(" ");
                } j != array[i].length - 1 j array[i].length - 1 array[i].length array[i] array i array[i].length 1 {
                    sb.append(" ");
                } sb.append(" ") sb.append sb " " sb.append("\n") sb.append sb "\n" System.out.print(sb) System.out.print System.out System System.out sb long[][] array array public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    }

    private static void print2DArray(long[][] array) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
} public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    }

    private static void print2DArray(long[][] array) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
} Main
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] a = new int[]{sc.nextInt(), sc.nextInt(), sc.nextInt()};
        int[][] x = new int[a[0]][a[1]];
        int[][] y = new int[a[1]][a[2]];
        long[][] z = new long[a[0]][a[2]];
        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[1]; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < a[1]; i++) {
            for (int j = 0; j < a[2]; j++) {
                y[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < a[0]; i++) {
            for (int j = 0; j < a[2]; j++) {
                long sum = 0;
                for (int k = 0; k < a[1]; k++) {
                    sum += x[i][k] * y[k][j];
                }
                z[i][j] = sum;
            }
        }
        print2DArray(z);
    }

    private static void print2DArray(long[][] array) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                sb.append(array[i][j]);
                if (j != array[i].length - 1) {
                    sb.append(" ");
                }
            }
            sb.append("\n");
        }
        System.out.print(sb);
    }
}