n, m, l = list(map(int, input().split()))

A = [list(map(int, input().split())) for _ in range(n)]

B = [list(map(int, input().split())) for _ in range(m)]

for i in range(n):

    r = []

    for j in range(l):

        c = 0

        for k in range(m):

            c += A[i][k] * B[k][j]

        r.append(c)

    print((*r)) 
n, m, l = list(map(int, input().split()))

A = [tuple(map(int, input().split())) for _ in range(n)]

B = [tuple(map(int, input().split())) for _ in range(m)]

B_T = [tuple(r) for r in zip(*B)]

for L in ((sum((a*b for a, b in zip(ai, bj))) for bj in B_T) for ai in A):

    print((*L))
n, m, l = list(map(int, input().split()))
A = [list(map(int, input().split())) for _ in range(n)]
B = [list(map(int, input().split())) for _ in range(m)]
for i in range(n):
    r = []
    for j in range(l):
        c = 0
        for k in range(m):
            c += A[i][k] * B[k][j]
        r.append(c)
    print((*r))

n, m, l = list(map(int, input().split()))
A = [tuple(map(int, input().split())) for _ in range(n)]
B = [tuple(map(int, input().split())) for _ in range(m)]
B_T = [tuple(r) for r in zip(*B)]
for L in ((sum((a * b for a, b in zip(ai, bj))) for bj in B_T) for ai in A):
    print((*L))

-A = [list(map(int, input().split())) for _ in range(n)] -B = [list(map(int, input().split())) for _ in range(m)] -for i in range(n): -    r = [] -    for j in range(l): -        c = 0 -        for k in range(m): -            c += A[i][k] * B[k][j] -        r.append(c) -    print((*r)) +A = [tuple(map(int, input().split())) for _ in range(n)] +B = [tuple(map(int, input().split())) for _ in range(m)] +B_T = [tuple(r) for r in zip(*B)] +for L in ((sum((a * b for a, b in zip(ai, bj))) for bj in B_T) for ai in A): +    print((*L))