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

class Main{

	public static void main(String[] args) throws IOException
	{
		int n,m,l;
		int i,j,k;

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );

		String[] nml = br.readLine().split(" ");

		n = Integer.parseInt(nml[0]);
		m = Integer.parseInt(nml[1]);
		l = Integer.parseInt(nml[2]);
		
		int[][] a = new int[n][m];
		int[][] b = new int[m][l];
		long[][] out = new long[n][l];

		for(i=0; i<n; i++)//get a
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		}

		for(i=0; i<m; i++)//get b
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		}


		for(i=0; i<n; i++)//calc
		{
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		}
		

	}
	
	/*
	static void ShowMatrix(int[][] matrix, int n, int m)
	{
		for(int i=0; i<n; i++)
		{
			for(int j=0; j<m; j++)
			{
				System.out.print(matrix[i][j]);
			}
			
			System.out.println();
		}
		
	}*/
	
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io class Main{

	public static void main(String[] args) throws IOException
	{
		int n,m,l;
		int i,j,k;

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );

		String[] nml = br.readLine().split(" ");

		n = Integer.parseInt(nml[0]);
		m = Integer.parseInt(nml[1]);
		l = Integer.parseInt(nml[2]);
		
		int[][] a = new int[n][m];
		int[][] b = new int[m][l];
		long[][] out = new long[n][l];

		for(i=0; i<n; i++)//get a
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		}

		for(i=0; i<m; i++)//get b
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		}


		for(i=0; i<n; i++)//calc
		{
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		}
		

	}
	
	/*
	static void ShowMatrix(int[][] matrix, int n, int m)
	{
		for(int i=0; i<n; i++)
		{
			for(int j=0; j<m; j++)
			{
				System.out.print(matrix[i][j]);
			}
			
			System.out.println();
		}
		
	}*/
	
} Main public static void main(String[] args) throws IOException
	{
		int n,m,l;
		int i,j,k;

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );

		String[] nml = br.readLine().split(" ");

		n = Integer.parseInt(nml[0]);
		m = Integer.parseInt(nml[1]);
		l = Integer.parseInt(nml[2]);
		
		int[][] a = new int[n][m];
		int[][] b = new int[m][l];
		long[][] out = new long[n][l];

		for(i=0; i<n; i++)//get a
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		}

		for(i=0; i<m; i++)//get b
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		}


		for(i=0; i<n; i++)//calc
		{
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		}
		

	} main {
		int n,m,l;
		int i,j,k;

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );

		String[] nml = br.readLine().split(" ");

		n = Integer.parseInt(nml[0]);
		m = Integer.parseInt(nml[1]);
		l = Integer.parseInt(nml[2]);
		
		int[][] a = new int[n][m];
		int[][] b = new int[m][l];
		long[][] out = new long[n][l];

		for(i=0; i<n; i++)//get a
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		}

		for(i=0; i<m; i++)//get b
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		}


		for(i=0; i<n; i++)//calc
		{
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		}
		

	} int n n m m l; l int i i j j k; k BufferedReader br = new BufferedReader(new InputStreamReader(System.in) ); br new BufferedReader(new InputStreamReader(System.in) ) String[] nml = br.readLine().split(" "); nml br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " n = Integer.parseInt(nml[0]) n Integer.parseInt(nml[0]) Integer.parseInt Integer nml[0] nml 0 m = Integer.parseInt(nml[1]) m Integer.parseInt(nml[1]) Integer.parseInt Integer nml[1] nml 1 l = Integer.parseInt(nml[2]) l Integer.parseInt(nml[2]) Integer.parseInt Integer nml[2] nml 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[][] out = new long[n][l]; out new long[n][l] n l for(i=0; i<n; i++)//get a
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		} i=0; i=0 i 0 i<n i n i++ i++ i {
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		} {
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		} String[] str = br.readLine().split(" "); str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]); j=0; 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] a[i] a i j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j for(i=0; i<m; i++)//get b
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		} i=0; i=0 i 0 i<m i m i++ i++ i {
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		} {
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		} String[] str = br.readLine().split(" "); str br.readLine().split(" ") br.readLine().split br.readLine() br.readLine br " " for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]); j=0; 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] b[i] b i j Integer.parseInt(str[j]) Integer.parseInt Integer str[j] str j for(i=0; i<n; i++)//calc
		{
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		} i=0; i=0 i 0 i<n i n i++ i++ i {
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		} {
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		} for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			} j=0; j=0 j 0 j<l j l j++ j++ j {
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			} {
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			} for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				} k=0; k=0 k 0 k<m k m k++ k++ k {
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				} {
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				} out[i][j] = out[i][j] + a[i][k]*b[k][j] out[i][j] out[i] out i j out[i][j] + a[i][k]*b[k][j] out[i][j] out[i] out i j a[i][k]*b[k][j] a[i][k] a[i] a i k b[k][j] b[k] b k j System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") ) System.out.print System.out System System.out out[i][j] + ( (j==l-1) ? "" : " ") out[i][j] out[i] out i j ( (j==l-1) ? "" : " ") (j==l-1) j l-1 l 1 "" " " System.out.println() System.out.println System.out System System.out String[] args args
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main{

	public static void main(String[] args) throws IOException
	{
		int n,m,l;
		int i,j,k;

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );

		String[] nml = br.readLine().split(" ");

		n = Integer.parseInt(nml[0]);
		m = Integer.parseInt(nml[1]);
		l = Integer.parseInt(nml[2]);
		
		int[][] a = new int[n][m];
		int[][] b = new int[m][l];
		long[][] out = new long[n][l];

		for(i=0; i<n; i++)//get a
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<m; j++) a[i][j] = Integer.parseInt(str[j]);
		}

		for(i=0; i<m; i++)//get b
		{
			String[] str = br.readLine().split(" ");
			for(j=0; j<l; j++) b[i][j] = Integer.parseInt(str[j]);
		}


		for(i=0; i<n; i++)//calc
		{
			for(j=0; j<l; j++)
			{
				for(k=0; k<m; k++)
				{
					out[i][j] = out[i][j] + a[i][k]*b[k][j];
					
				}
				
				System.out.print(out[i][j] + ( (j==l-1) ? "" : " ") );
			}

			System.out.println();
		}
		

	}
	
	/*
	static void ShowMatrix(int[][] matrix, int n, int m)
	{
		for(int i=0; i<n; i++)
		{
			for(int j=0; j<m; j++)
			{
				System.out.print(matrix[i][j]);
			}
			
			System.out.println();
		}
		
	}*/
	
}