9. Умножай и транспонируй!

Не решаласьЛёгкая

Школьники из объединения КРОШ (Клуб Решателей Олимпиад Школьников) готовятся к участию в треке ML. Начать подготовку они решили с изучения линейной алгебры. Выяснилось, что существует две интересные операции над матрицами - умножение и траспонирование. Они составили много примеров и решают их на листике, однако им нужна помощь в проверке результатов. Напишите программу, которая по заданным матрицам AA и BB вычисляет:

(A×B)T,(A × B)^{T},

где AA — матрица размером n×mn×m, а BB — матрица размером m×km×k.

Напомним, как работают данные операции:

  1. Умножение матриц A×B=CA × B = C: Cij=k=1nAikBkj C_{ij} = \sum_{k=1}^{n} A_{ik} B_{kj}

  2. Транспонирование матрицы (столбцы становятся строками): (AT)ij=Aji (A^T)_{ij} = A_{ji}

Формат ввода

В первой стоке вводятся 3 числа n,m,kn, m, k (1n,m,k100)(1 \leq n, m, k \leq 100).

Далее следуют nn строк по mm чисел в каждой - элементы матрицы AA (0Ai,j10)(0 \leq A_{i, j} \leq 10).

Затем вводятся mm строк по kk чисел в каждой - элементы матрицы BB (0Bi,j10)(0 \leq B_{i, j} \leq 10).

Формат вывода

Выведите матрицу результата операции (A×B)T(A × B)^{T}.

Ограничения

Ограничение времени

1 с

Ограничение памяти

64 МБ

Пример 1

Ввод
1 2 1
3 4 
9 
8 
Вывод
59 

Пример 2

Ввод
2 1 3
0 
2 
1 2 8 
Вывод
0 2 
0 4 
0 16 

Пример 3

Ввод
6 1 4
6 
1 
3 
3 
1 
9 
10 2 0 3 
Вывод
60 10 30 30 10 90 
12 2 6 6 2 18 
0 0 0 0 0 0 
18 3 9 9 3 27 
Нужно войти, чтобы отправить решение.Войти