public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} Main public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  } run {
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  } java.util.Scanner sc = new java.util.Scanner(in); sc new java.util.Scanner(in) int n n m m l; l int[][] a a b; b int i i j j k; k long[][] c; c n = sc.nextInt() n sc.nextInt() sc.nextInt sc m = sc.nextInt() m sc.nextInt() sc.nextInt sc l = sc.nextInt() l sc.nextInt() sc.nextInt sc a = new int[n][m] a new int[n][m] n m b = new int[m][l] b new int[m][l] m l c = new long[n][l] c new long[n][l] n l for(i = 0;i < n;i++){
      for(j = 0;j < m;j++){
        a[i][j] = sc.nextInt();
      }
    } i = 0; i = 0 i 0 i < n i n i++ i++ i {
      for(j = 0;j < m;j++){
        a[i][j] = sc.nextInt();
      }
    } {
      for(j = 0;j < m;j++){
        a[i][j] = sc.nextInt();
      }
    } for(j = 0;j < m;j++){
        a[i][j] = sc.nextInt();
      } j = 0; 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 for(i = 0;i < m;i++){
      for(j = 0;j < l;j++){
        b[i][j] = sc.nextInt();
      }
    } i = 0; i = 0 i 0 i < m i m i++ i++ i {
      for(j = 0;j < l;j++){
        b[i][j] = sc.nextInt();
      }
    } {
      for(j = 0;j < l;j++){
        b[i][j] = sc.nextInt();
      }
    } for(j = 0;j < l;j++){
        b[i][j] = sc.nextInt();
      } j = 0; 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 for(i = 0;i < n;i++){
      for(j = 0;j < l;j++){
        c[i][j] = 0;
        for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        }
      }
    } i = 0; i = 0 i 0 i < n i n i++ i++ i {
      for(j = 0;j < l;j++){
        c[i][j] = 0;
        for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        }
      }
    } {
      for(j = 0;j < l;j++){
        c[i][j] = 0;
        for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        }
      }
    } for(j = 0;j < l;j++){
        c[i][j] = 0;
        for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        }
      } j = 0; j = 0 j 0 j < l j l j++ j++ j {
        c[i][j] = 0;
        for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        }
      } {
        c[i][j] = 0;
        for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        }
      } c[i][j] = 0 c[i][j] c[i] c i j 0 for(k = 0;k < m;k++){
          c[i][j] += (a[i][k] * b[k][j]);
        } k = 0; 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] += (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(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    } i = 0; i = 0 i 0 i < n i n i++ i++ i {
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    } {
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    } j = 0 j 0 System.out.print(c[i][j]) System.out.print System.out System System.out c[i][j] c[i] c i j for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      } j = 1; j = 1 j 1 j < l j l j++ j++ j {
        System.out.print(" " + c[i][j]);
      } {
        System.out.print(" " + c[i][j]);
      } System.out.print(" " + c[i][j]) System.out.print System.out System System.out " " + c[i][j] " " c[i][j] c[i] c i j System.out.println() System.out.println System.out System System.out sc.close() sc.close sc java.io.InputStream in in java.io.PrintStream out out public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  } main {
    (new Main()).run(System.in, System.out);
  } (new Main()).run(System.in, System.out) (new Main()).run (new Main()) System.in System System.in System.out System System.out String[] args args public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} Main
public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n, m, l;
    int[][] a, b;
    int i, j, k;
    long[][] c;

    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    a = new int[n][m];
    b = new int[m][l];
    c = new long[n][l];

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

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

    for(i = 0;i < n;i++){
      j = 0;
      System.out.print(c[i][j]);
      for(j = 1;j < l;j++){
        System.out.print(" " + c[i][j]);
      }
      System.out.println();
    }

/*fin*/
    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
}