import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	}

} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	}

} Main public static void main(String[] args)throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	} main {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	} BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String[] str=br.readLine().split(" "); str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " 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[][] a=new int [n][m]; a new int [n][m] n m int[][] b=new int [m][l]; b new int [m][l] m l long c; c for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納 int i=0; int i=0; i 0 i<n i n i++ i++ i {
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納 {
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        } str=br.readLine().split(" ") str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            } int j=0; int j=0; j 0 j<m j m j++ j++ j {
                a[i][j]=Integer.parseInt(str[j]);
            } {
                a[i][j]=Integer.parseInt(str[j]);
            } a[i][j]=Integer.parseInt(str[j]) a[i][j] a[i] a i j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納 int i=0; int i=0; i 0 i<m i m i++ i++ i {
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納 {
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        } str=br.readLine().split(" ") str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            } int j=0; int j=0; j 0 j<l j l j++ j++ j {
            	b[i][j]=Integer.parseInt(str[j]);
            } {
            	b[i][j]=Integer.parseInt(str[j]);
            } b[i][j]=Integer.parseInt(str[j]) b[i][j] b[i] b i j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j StringBuilder outArray=new StringBuilder(); outArray new StringBuilder() for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.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 += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		} {
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		} for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			} 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 += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			} {
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			} c=0 c 0 for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				} int k=0; int k=0; k 0 k<m k m k++ k++ k {
					c += a[i][k]*b[k][j];
				} {
					c += a[i][k]*b[k][j];
				} c += a[i][k]*b[k][j] c a[i][k]*b[k][j] a[i][k] a[i] a i k b[k][j] b[k] b k j outArray.append(c + " ") outArray.append outArray c + " " c " " outArray.deleteCharAt(outArray.length()-1) outArray.deleteCharAt outArray outArray.length()-1 outArray.length() outArray.length outArray 1 outArray.append("\n") outArray.append outArray "\n" outArray.deleteCharAt(outArray.length()-1) outArray.deleteCharAt outArray outArray.length()-1 outArray.length() outArray.length outArray 1 System.out.println(outArray) System.out.println System.out System System.out outArray String[] args args public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	}

} public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	}

} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
	public static void main(String[] args)throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String[] str=br.readLine().split(" ");
		int n=Integer.parseInt(str[0]);
		int m=Integer.parseInt(str[1]);
		int l=Integer.parseInt(str[2]);
		int[][] a=new int [n][m];
		int[][] b=new int [m][l];
		long c;

		for(int i=0;i<n;i++){
    		str=br.readLine().split(" ");
            for(int j=0;j<m;j++){
                a[i][j]=Integer.parseInt(str[j]);
            }
        }//配列a[][]に格納
                 
        for(int i=0;i<m;i++){
            str=br.readLine().split(" ");
            for(int j=0;j<l;j++){
            	b[i][j]=Integer.parseInt(str[j]);
            }
        }//配列b[][]に格納
		
        StringBuilder outArray=new StringBuilder();
		for(int i=0;i<n;i++){
			for(int j=0;j<l;j++){
				c=0;
				for (int k=0;k<m;k++){
					c += a[i][k]*b[k][j];
				}
				outArray.append(c + " ");
			}
			outArray.deleteCharAt(outArray.length()-1);
			outArray.append("\n");
		}
		outArray.deleteCharAt(outArray.length()-1);
		System.out.println(outArray);
	}

}