import java.io.*;
 
class Main {
    public static void main(String[] args) {
        BufferedReader kb = new BufferedReader( new InputStreamReader( System.in ) );
        try {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } catch( IOException e ) {
            System.err.println( e );
        }
    }
} import java.io.*; io.* java class Main {
    public static void main(String[] args) {
        BufferedReader kb = new BufferedReader( new InputStreamReader( System.in ) );
        try {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } catch( IOException e ) {
            System.err.println( e );
        }
    }
} Main public static void main(String[] args) {
        BufferedReader kb = new BufferedReader( new InputStreamReader( System.in ) );
        try {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } catch( IOException e ) {
            System.err.println( e );
        }
    } main {
        BufferedReader kb = new BufferedReader( new InputStreamReader( System.in ) );
        try {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } catch( IOException e ) {
            System.err.println( e );
        }
    } BufferedReader kb = new BufferedReader( new InputStreamReader( System.in ) ); kb new BufferedReader( new InputStreamReader( System.in ) ) try {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } catch( IOException e ) {
            System.err.println( e );
        } catch( IOException e ) {
            System.err.println( e );
        } IOException e {
            System.err.println( e );
        } System.err.println( e ) System.err.println System.err System System.err e {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } String[] str = kb.readLine().split( " " ); str kb.readLine().split( " " ) kb.readLine().split kb.readLine() kb.readLine kb " " int n = Integer.parseInt( str[0] ); n Integer.parseInt( str[0] ) Integer.parseInt Integer str[0] str 0 int m = Integer.parseInt( str[1] ); m Integer.parseInt( str[1] ) Integer.parseInt Integer str[1] str 1 int l = Integer.parseInt( str[2] ); l Integer.parseInt( str[2] ) Integer.parseInt Integer str[2] str 2 int[][] matrixA = new int[n][m]; matrixA new int[n][m] n m int[][] matrixB = new int[m][l]; matrixB new int[m][l] m l for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            } int i=0; int i=0; i 0 i<n i n i++ i++ i {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            } {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            } str = kb.readLine().split( " " ) str kb.readLine().split( " " ) kb.readLine().split kb.readLine() kb.readLine kb " " for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                } int j=0; int j=0; j 0 j<m j m j++ j++ j {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                } {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                } matrixA[i][j] = Integer.parseInt( str[j] ) matrixA[i][j] matrixA[i] matrixA i j Integer.parseInt( str[j] ) Integer.parseInt Integer str[j] str j for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            } int i=0; int i=0; i 0 i<m i m i++ i++ i {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            } {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            } str = kb.readLine().split( " " ) str kb.readLine().split( " " ) kb.readLine().split kb.readLine() kb.readLine kb " " for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                } int j=0; int j=0; j 0 j<l j l j++ j++ j {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                } {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                } matrixB[i][j] = Integer.parseInt( str[j] ) matrixB[i][j] matrixB[i] matrixB i j Integer.parseInt( str[j] ) Integer.parseInt Integer str[j] str j StringBuilder output = new	StringBuilder( 400+1 ); output new	StringBuilder( 400+1 ) long c; c for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            } int i=0; int i=0; i 0 i<n i n i++ i++ i {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            } {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            } for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                } int j=0; int j=0; j 0 j<l j l j++ j++ j {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                } {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                } c = 0 c 0 for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    } int k=0; int k=0; k 0 k<m k m k++ k++ k {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    } {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    } c += ( matrixA[i][k] * matrixB[k][j] ) c ( matrixA[i][k] * matrixB[k][j] ) matrixA[i][k] matrixA[i] matrixA i k matrixB[k][j] matrixB[k] matrixB k j output.append( c ) output.append output c output.append( " " ) output.append output " " output.deleteCharAt( output.lastIndexOf( " " ) ) output.deleteCharAt output output.lastIndexOf( " " ) output.lastIndexOf output " " output.append( "\n" ) output.append output "\n" System.out.print( output ) System.out.print System.out System System.out output String[] args args
import java.io.*;
 
class Main {
    public static void main(String[] args) {
        BufferedReader kb = new BufferedReader( new InputStreamReader( System.in ) );
        try {
 
            String[] str = kb.readLine().split( " " );
            int n = Integer.parseInt( str[0] );
            int m = Integer.parseInt( str[1] );
            int l = Integer.parseInt( str[2] );
                         
            int[][] matrixA = new int[n][m];
            int[][] matrixB = new int[m][l];
            for( int i=0; i<n; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<m; j++ ) {
                    matrixA[i][j] = Integer.parseInt( str[j] );
                }
            }
            for( int i=0; i<m; i++ ) {
                str = kb.readLine().split( " " );
                for( int j=0; j<l; j++ ) {
                    matrixB[i][j] = Integer.parseInt( str[j] );
                }
            }
            StringBuilder output = new	StringBuilder( 400+1 );	
 			long c;
            for( int i=0; i<n; i++ ) {
                for( int j=0; j<l; j++ ) {
                	c = 0;
	                for( int k=0; k<m; k++ ) {
                        c += ( matrixA[i][k] * matrixB[k][j] );
                    }
                    output.append( c );
                    output.append( " " );
                }
                output.deleteCharAt( output.lastIndexOf( " " ) );
                output.append( "\n" );
            }
             
            System.out.print( output );
             
        } catch( IOException e ) {
            System.err.println( e );
        }
    }
}