import java.util.*;

class Main{
  static int n,m,l,a,i,j,k;
  
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    long[][] matrixa = new long[n][m];
    long[][] matrixb = new long[m][l];
    long[][] matrixc = new long[n][l]; 
    for (i= 0; i<n; i++) {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    }  
    for (i= 0; i<m; i++) {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    }
  }   
} import java.util.*; util.* java class Main{
  static int n,m,l,a,i,j,k;
  
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    long[][] matrixa = new long[n][m];
    long[][] matrixb = new long[m][l];
    long[][] matrixc = new long[n][l]; 
    for (i= 0; i<n; i++) {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    }  
    for (i= 0; i<m; i++) {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    }
  }   
} Main static int n n m m l l a a i i j j k; k public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    long[][] matrixa = new long[n][m];
    long[][] matrixb = new long[m][l];
    long[][] matrixc = new long[n][l]; 
    for (i= 0; i<n; i++) {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    }  
    for (i= 0; i<m; i++) {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    }
  } main {
    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    long[][] matrixa = new long[n][m];
    long[][] matrixb = new long[m][l];
    long[][] matrixc = new long[n][l]; 
    for (i= 0; i<n; i++) {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    }  
    for (i= 0; i<m; i++) {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    }
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) 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 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[][] matrixc = new long[n][l]; matrixc new long[n][l] n l for (i= 0; i<n; i++) {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    } i= 0; i= 0 i 0 i<n i n i++ i++ i {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    } {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    } for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      } j= 0; j= 0 j 0 j<m j m j++ j++ j {
        a = sc.nextInt();
        matrixa[i][j] = a;
      } {
        a = sc.nextInt();
        matrixa[i][j] = a;
      } a = sc.nextInt() a sc.nextInt() sc.nextInt sc matrixa[i][j] = a matrixa[i][j] matrixa[i] matrixa i j a for (i= 0; i<m; i++) {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    } i= 0; i= 0 i 0 i<m i m i++ i++ i {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    } {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    } for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      } j= 0; j= 0 j 0 j<l j l j++ j++ j {
        a = sc.nextInt();
        matrixb[i][j] = a;
      } {
        a = sc.nextInt();
        matrixb[i][j] = a;
      } a = sc.nextInt() a sc.nextInt() sc.nextInt sc matrixb[i][j] = a matrixb[i][j] matrixb[i] matrixb i j a for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    } i= 0; i= 0 i 0 i<n i n i++ i++ i {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    } {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    } for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      } j= 0; j= 0 j 0 j<l j l j++ j++ j {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      } {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      } for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        } k= 0; k= 0 k 0 k<m k m k++ k++ k {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        } {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        } matrixc[i][j] += matrixa[i][k] * matrixb[k][j] matrixc[i][j] matrixc[i] matrixc i j matrixa[i][k] * matrixb[k][j] matrixa[i][k] matrixa[i] matrixa i k matrixb[k][j] matrixb[k] matrixb k j for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    } i= 0; i= 0 i 0 i<n i n i++ i++ i {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    } {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    } for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      } j= 0; j= 0 j 0 j<l j l j++ j++ j {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      } {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      } if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        } j != l-1 j l-1 l 1 {
        System.out.print(matrixc[i][j] + " ");
        } System.out.print(matrixc[i][j] + " ") System.out.print System.out System System.out matrixc[i][j] + " " matrixc[i][j] matrixc[i] matrixc i j " " {
          System.out.println(matrixc[i][j]);
        } System.out.println(matrixc[i][j]) System.out.println System.out System System.out matrixc[i][j] matrixc[i] matrixc i j String[] args args
import java.util.*;

class Main{
  static int n,m,l,a,i,j,k;
  
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    m = sc.nextInt();
    l = sc.nextInt();
    long[][] matrixa = new long[n][m];
    long[][] matrixb = new long[m][l];
    long[][] matrixc = new long[n][l]; 
    for (i= 0; i<n; i++) {
      for (j= 0; j<m; j++) {
        a = sc.nextInt();
        matrixa[i][j] = a;
      }
    }  
    for (i= 0; i<m; i++) {
      for (j= 0; j<l; j++) {
        a = sc.nextInt();
        matrixb[i][j] = a;
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        for (k= 0; k<m ; k++) {
             matrixc[i][j] += matrixa[i][k] * matrixb[k][j];
        }
      }
    }
    for (i= 0; i<n; i++) {
      for (j= 0; j<l; j++) {
        if (j != l-1) {
        System.out.print(matrixc[i][j] + " ");
        } else {
          System.out.println(matrixc[i][j]);
        }
      }
    }
  }   
}
