import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    }
}

class Matrix{
    int row;
    int col;
    long elm[][];
    Matrix(int a,int b){
        this.row=a;
        this.col=b;
        elm=new long[a][b];
        this.initialize();
    }
    void initialize(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        }
    }
    void setElement(int a,int b,int x){
        this.elm[a][b]=x;
    }
    void printElement(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        }
    }
    void getProduct(Matrix a,Matrix b){
        for(int i=0;i<a.row;i++){
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        }
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) throws Exception {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    }
} Main public static void main(String[] args) throws Exception {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    } main {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    } int i i j; j Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int n n m m l; l 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 Matrix A=new Matrix(n,m); A new Matrix(n,m) for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        } i=0; i=0 i 0 i<n i n i++ i++ i {
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        } {
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        } for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt()); j=0; j=0 j 0 j<m j m j++ j++ j A.setElement(i,j,sc.nextInt()); A.setElement(i,j,sc.nextInt()) A.setElement A i j sc.nextInt() sc.nextInt sc Matrix B=new Matrix(m,l); B new Matrix(m,l) for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        } i=0; i=0 i 0 i<m i m i++ i++ i {
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        } {
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        } for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt()); j=0; j=0 j 0 j<l j l j++ j++ j B.setElement(i,j,sc.nextInt()); B.setElement(i,j,sc.nextInt()) B.setElement B i j sc.nextInt() sc.nextInt sc Matrix C=new Matrix(n,l); C new Matrix(n,l) C.getProduct(A,B) C.getProduct C A B C.printElement() C.printElement C String[] args args class Matrix{
    int row;
    int col;
    long elm[][];
    Matrix(int a,int b){
        this.row=a;
        this.col=b;
        elm=new long[a][b];
        this.initialize();
    }
    void initialize(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        }
    }
    void setElement(int a,int b,int x){
        this.elm[a][b]=x;
    }
    void printElement(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        }
    }
    void getProduct(Matrix a,Matrix b){
        for(int i=0;i<a.row;i++){
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        }
    }
} Matrix int row; row int col; col long elm[][]; elm Matrix(int a,int b){
        this.row=a;
        this.col=b;
        elm=new long[a][b];
        this.initialize();
    } Matrix {
        this.row=a;
        this.col=b;
        elm=new long[a][b];
        this.initialize();
    } this.row=a this.row this this.row a this.col=b this.col this this.col b elm=new long[a][b] elm new long[a][b] a b this.initialize() this.initialize this int a a int b b void initialize(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        }
    } initialize {
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        }
    } for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        } int i=0; int i=0; i 0 i<this.row i this.row this this.row i++ i++ i {
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        } {
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        } for(int j=0;j<this.col;j++)this.elm[i][j]=0; int j=0; int j=0; j 0 j<this.col j this.col this this.col j++ j++ j this.elm[i][j]=0; this.elm[i][j]=0 this.elm[i][j] this.elm[i] this.elm this this.elm i j 0 void setElement(int a,int b,int x){
        this.elm[a][b]=x;
    } setElement {
        this.elm[a][b]=x;
    } this.elm[a][b]=x this.elm[a][b] this.elm[a] this.elm this this.elm a b x int a a int b b int x x void printElement(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        }
    } printElement {
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        }
    } for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        } int i=0; int i=0; i 0 i<this.row i this.row this this.row i++ i++ i {
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        } {
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        } for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            } int j=0; int j=0; j 0 j<this.col j this.col this this.col j++ j++ j {
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            } {
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            } if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]); j==0 j 0 System.out.printf("%d",this.elm[i][j]) System.out.printf System.out System System.out "%d" this.elm[i][j] this.elm[i] this.elm this this.elm i j System.out.printf(" %d",this.elm[i][j]) System.out.printf System.out System System.out " %d" this.elm[i][j] this.elm[i] this.elm this this.elm i j System.out.printf("\n") System.out.printf System.out System System.out "\n" void getProduct(Matrix a,Matrix b){
        for(int i=0;i<a.row;i++){
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        }
    } getProduct {
        for(int i=0;i<a.row;i++){
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        }
    } for(int i=0;i<a.row;i++){
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        } int i=0; int i=0; i 0 i<a.row i a.row a a.row i++ i++ i {
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        } {
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        } for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            } int k=0; int k=0; k 0 k<b.col k b.col b b.col k++ k++ k {
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            } {
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            } for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                } int j=0; int j=0; j 0 j<b.row j b.row b b.row j++ j++ j {
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                } {
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                } this.elm[i][k]+=a.elm[i][j]*b.elm[j][k] this.elm[i][k] this.elm[i] this.elm this this.elm i k a.elm[i][j]*b.elm[j][k] a.elm[i][j] a.elm[i] a.elm a a.elm i j b.elm[j][k] b.elm[j] b.elm b b.elm j k Matrix a a Matrix b b public class Main {
    public static void main(String[] args) throws Exception {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    }
} public class Main {
    public static void main(String[] args) throws Exception {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        
        int n,m,l;
        n=sc.nextInt();
        m=sc.nextInt();
        l=sc.nextInt();
 
        Matrix A=new Matrix(n,m);
        for(i=0;i<n;i++){
            for(j=0;j<m;j++)A.setElement(i,j,sc.nextInt());
        }
        
        Matrix B=new Matrix(m,l);
        for(i=0;i<m;i++){
            for(j=0;j<l;j++)B.setElement(i,j,sc.nextInt());
        }
        
        Matrix C=new Matrix(n,l);
        C.getProduct(A,B);
        C.printElement();
    }
}

class Matrix{
    int row;
    int col;
    long elm[][];
    Matrix(int a,int b){
        this.row=a;
        this.col=b;
        elm=new long[a][b];
        this.initialize();
    }
    void initialize(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++)this.elm[i][j]=0;
        }
    }
    void setElement(int a,int b,int x){
        this.elm[a][b]=x;
    }
    void printElement(){
        for(int i=0;i<this.row;i++){
            for(int j=0;j<this.col;j++){
                if(j==0)System.out.printf("%d",this.elm[i][j]);
                else System.out.printf(" %d",this.elm[i][j]);
            }
            System.out.printf("\n");
        }
    }
    void getProduct(Matrix a,Matrix b){
        for(int i=0;i<a.row;i++){
            for(int k=0;k<b.col;k++){
                for(int j=0;j<b.row;j++){
                    this.elm[i][k]+=a.elm[i][j]*b.elm[j][k];
                }
            }
        }
    }
}
