import java.util.*;

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

 class Main
 {
   public static void main(String args[])
   { 
    input();
   }
   static void input()
   {
     Scanner sc = new Scanner(System.in);
     
     int n = sc.nextInt();
     
     int m = sc.nextInt();
     
     int l = sc.nextInt();
     
     long a[][] = new long[n][m];
     
     long b[][] = new long[m][l];
     
     long c[][] = new long[n][l];
     //input a
     for(int i = 0; i < n; i ++)
     {
       for(int j = 0; j < m; j ++)
       {
         a[i][j] = sc.nextLong();
       }
     }//input b
     for(int i = 0; i < m; i ++)
     {
       for(int j = 0; j < l; j ++)
       {
         b[i][j] = sc.nextLong();
       }
     }//a * b
     multiplication(a,b,c);
     
   }
   static void multiplication(long a[][],long b[][],long c[][])
   {
     for(int i = 0; i < c.length; i ++)
     {
       for(int j = 0; j < c[i].length; j ++)
       {
         for(int k = 0; k < b.length; k ++)
         {
           c[i][j] += a[i][k] * b[k][j];
         }
       }
     }
     output(c); 
   }
   static void output(long c[][])
   {
     for(int i = 0; i < c.length; i ++)
     {
       for(int j = 0; j < c[i].length; j ++)
       {
         if(j != 0)System.out.print(" ");
         
         System.out.print(c[i][j]);
       }
       System.out.println();
     }
   }
 }
    
