Школьники из объединения КРОШ (Клуб Решателей Олимпиад Школьников) готовятся к участию в треке ML. Начать подготовку они решили с изучения линейной алгебры. Выяснилось, что существует две интересные операции над матрицами - умножение и траспонирование. Они составили много примеров и решают их на листике, однако им нужна помощь в проверке результатов. Напишите программу, которая по заданным матрицам
$ (A × B)^{T}, $
где
Напомним, как работают данные операции:
- Умножение матриц
: [ C_{ij} = \sum_^{n} A_{ik} B_{kj} ] - Транспонирование матрицы (столбцы становятся строками): [ (A^T){ij} = A{ji} ]
В первой стоке вводятся 3 числа
Далее следуют
Затем вводятся
Выведите матрицу результата операции
Input:
1 2 1
3 4
9
8
Output:
59
Input:
2 1 3
0
2
1 2 8
Output:
0 2
0 4
0 16
Input:
6 1 4
6
1
3
3
1
9
10 2 0 3
Output:
60 10 30 30 10 90
12 2 6 6 2 18
0 0 0 0 0 0
18 3 9 9 3 27