#include <stdio.h>

int main()
{   
    /* 下标 0,1,2分别代表 x,y,z 值 */
    int xyz[3];
    for(int i = 0; i < 3; i++)
    {
        if(scanf("%d", &xyz[i]) == EOF)
        {
            return -1;
        }
    }
    
    int matrix_1[xyz[0]][xyz[1]];
    int matrix_2[xyz[1]][xyz[2]];
    int matrix_3[xyz[0]][xyz[2]];
    
    for(int i = 0; i < xyz[0]; i++)
    {
        for(int j = 0; j < xyz[1]; j++)
        {
            scanf("%d", &matrix_1[i][j]);
        }
    }
    
    for(int i = 0; i < xyz[1]; i++)
    {
        for(int j = 0; j < xyz[2]; j++)
        {
            scanf("%d", &matrix_2[i][j]);
        }
    }
    
    memset(matrix_3, 0 , sizeof(int) * xyz[0] * xyz[2]);
    /* 计算矩阵值 */
    for(int i = 0; i < xyz[0]; i++)
    {
        for(int j = 0; j < xyz[2]; j++)
        {
            for(int k = 0; k <= xyz[1] - 1 ; k++)
            {
                int tmp = matrix_1[i][k] * matrix_2[k][j];
                matrix_3[i][j] += tmp;
            }
            printf("%d ", matrix_3[i][j]);
        }
        
        printf("\n");
    }
    
    return 0;
}