import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws Exception {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    }

} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {

	public static void main(String[] args) throws Exception {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    }

} Main public static void main(String[] args) throws Exception {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    } main {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    } boolean first=true; first true try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        } {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) new BufferedReader(new InputStreamReader(System.in)) String line; line int i=0 i 0 n=0 n 0 m=0 m 0 l=0; l 0 int[][] a=null a null b=null; b null while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            } (line = br.readLine()) != null (line = br.readLine()) line br.readLine() br.readLine br null {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            } String[] str=line.split(" "); str line.split(" ") line.split line " " if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	} first {
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	} n=Integer.parseInt(str[0]) n Integer.parseInt(str[0]) Integer.parseInt Integer str[0] str 0 m=Integer.parseInt(str[1]) m Integer.parseInt(str[1]) Integer.parseInt Integer str[1] str 1 l=Integer.parseInt(str[2]) l Integer.parseInt(str[2]) Integer.parseInt Integer str[2] str 2 a=new int[n][m] a new int[n][m] n m b=new int[m][l] b new int[m][l] m l i=0 i 0 first=false first false {
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	} if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		} i<n i n {
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		} for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			} int j=0; int j=0; j 0 j<str.length j str.length str str.length 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 j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		} for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			} int j=0; int j=0; j 0 j<str.length j str.length str str.length j++ j++ j {
            				b[i-n][j]=Integer.parseInt(str[j]);
            			} {
            				b[i-n][j]=Integer.parseInt(str[j]);
            			} b[i-n][j]=Integer.parseInt(str[j]) b[i-n][j] b[i-n] b i-n i n j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j i++ i if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		} i==n+m i n+m n m {
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		} String[] s=new String[l]; s new String[l] l for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			} int j=0; int j=0; j 0 j<n j n j++ j++ j {
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			} {
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			} for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			} int k=0; int k=0; k 0 k<l k l k++ k++ k {
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			} {
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			} long sum=0; sum 0 for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				} int o=0; int o=0; o 0 o<m o m o++ o++ o {
                					sum+=(a[j][o]*b[o][k]);
                				} {
                					sum+=(a[j][o]*b[o][k]);
                				} sum+=(a[j][o]*b[o][k]) sum (a[j][o]*b[o][k]) a[j][o] a[j] a j o b[o][k] b[o] b o k s[k]=String.valueOf(sum) s[k] s k String.valueOf(sum) String.valueOf String sum System.out.println(String.join(" ", s)) System.out.println System.out System System.out String.join(" ", s) String.join String " " s break; String[] args args public class Main {

	public static void main(String[] args) throws Exception {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    }

} public class Main {

	public static void main(String[] args) throws Exception {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    }

} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws Exception {
        // TODO ?????????????????????????????????????????????
        
        boolean first=true;
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            String line;
            int i=0,n=0,m=0,l=0;
            int[][] a=null,b=null;
            while ((line = br.readLine()) != null) {
            	String[] str=line.split(" ");
            	if(first){
            		n=Integer.parseInt(str[0]);
            		m=Integer.parseInt(str[1]);
            		l=Integer.parseInt(str[2]);
            		a=new int[n][m];
            		b=new int[m][l];
            		i=0;
            		first=false;
            	}else{
            		if(i<n){
            			for(int j=0;j<str.length;j++){
            				a[i][j]=Integer.parseInt(str[j]);
            			}
            		}else{
            			for(int j=0;j<str.length;j++){
            				b[i-n][j]=Integer.parseInt(str[j]);
            			}
            		}
            		i++;
            		if(i==n+m){
            			String[] s=new String[l];
            			for(int j=0;j<n;j++){
            				for(int k=0;k<l;k++){
            					long sum=0;
                				for(int o=0;o<m;o++){
                					sum+=(a[j][o]*b[o][k]);
                				}
                				
                				s[k]=String.valueOf(sum);
                			}
            				System.out.println(String.join(" ", s));
            			}
            			break;
            		}
            	}
            }
        }
    }

}