import java.io.PrintWriter;
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    PrintWriter pw = new PrintWriter(System.out);

    int n = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  }
} import java.io.PrintWriter; PrintWriter java.io import java.util.Scanner; Scanner 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 = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  }
} Main public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    PrintWriter pw = new PrintWriter(System.out);

    int n = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  } main {
    Scanner sc = new Scanner(System.in);
    PrintWriter pw = new PrintWriter(System.out);

    int n = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) PrintWriter pw = new PrintWriter(System.out); pw new PrintWriter(System.out) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int m = sc.nextInt(); m sc.nextInt() sc.nextInt sc int l = sc.nextInt(); l sc.nextInt() sc.nextInt sc int[][] a = new int[n][m]; a new int[n][m] n m for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.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] = sc.nextInt();
      }
    } {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    } for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      } int j = 0; int j = 0; j 0 j < m j m j++ j++ j {
        a[i][j] = sc.nextInt();
      } {
        a[i][j] = sc.nextInt();
      } a[i][j] = sc.nextInt() a[i][j] a[i] a i j sc.nextInt() sc.nextInt sc int[][] b = new int[m][l]; b new int[m][l] m l for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.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] = sc.nextInt();
      }
    } {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    } for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
        b[i][j] = sc.nextInt();
      } {
        b[i][j] = sc.nextInt();
      } b[i][j] = sc.nextInt() b[i][j] b[i] b i j sc.nextInt() sc.nextInt sc long[][] ans = new long[n][l]; ans new long[n][l] n l for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[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++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    } {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    } for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[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++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      } {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      } for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        } int k = 0; int k = 0; k 0 k < m k m k++ k++ k {
          ans[i][j] += a[i][k] * b[k][j];
        } {
          ans[i][j] += a[i][k] * b[k][j];
        } ans[i][j] += a[i][k] * b[k][j] ans[i][j] ans[i] ans 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++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    } int i = 0; int i = 0; i 0 i < n i n i++ i++ i { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    } { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    } StringBuilder sb = new StringBuilder(); sb new StringBuilder() for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      } int j = 0; int j = 0; j 0 j < l j l j++ j++ j {
        sb.append(ans[i][j] + " ");
      } {
        sb.append(ans[i][j] + " ");
      } sb.append(ans[i][j] + " ") sb.append sb ans[i][j] + " " ans[i][j] ans[i] ans i j " " pw.println(sb.toString().trim()) pw.println pw sb.toString().trim() sb.toString().trim sb.toString() sb.toString sb pw.flush() pw.flush pw sc.close() sc.close sc 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 = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  }
} public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    PrintWriter pw = new PrintWriter(System.out);

    int n = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  }
} Main
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    PrintWriter pw = new PrintWriter(System.out);

    int n = sc.nextInt();
    int m = sc.nextInt();
    int l = sc.nextInt();

    int[][] a = new int[n][m];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        a[i][j] = sc.nextInt();
      }
    }

    int[][] b = new int[m][l];
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < l; j++) {
        b[i][j] = sc.nextInt();
      }
    }

    long[][] ans = new long[n][l];
    for (int i = 0; i < n; i++) {      
      for (int j = 0; j < l; j++) {
        for (int k = 0; k < m; k++) {
          ans[i][j] += a[i][k] * b[k][j];
        }
      }
    }

    for (int i = 0; i < n; i++) { 
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < l; j++) {
        sb.append(ans[i][j] + " ");
      }
      pw.println(sb.toString().trim());
    }

    pw.flush();
    sc.close();
  }
}
