eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Умножение матриц

Умножение матриц

Лимит времени 1 секунда
Лимит использования памяти 128 MiB

Пусть даны две прямоугольные матрицы A и B размерности m × n и n × q соответственно:

Тогда матрица C размерностью m × q называется их произведением:

где:

Операция умножения двух матриц выполнима только в том случае, если число столбцов в первом сомножителе равно числу строк во втором; в этом случае говорят, что форма матриц согласована.

Задано две матрицы A и B. Найти их произведение.

Входные данные

В первой строке задано два натуральных числа n[a] и m[a] - размерность матрицы A. В последующих n[a] строках задано по m[a] чисел - элементы a[ij] матрицы A. В (n[a] + 2)-й строке задано два натуральных числа n[b] и m[b] - размерность матрицы B. В последующих n[b] строках задано по m[b] чисел - элементы b[ij] матрицы B. Размерность матриц не превышает 100 × 100, все элементы матриц целые числа, не превышающие по модулю 100.

Выходные данные

В первой строке вывести размерность итоговой матрицы C: n[с] и m[c]. В последующих n[с] строках вывести через пробел по m[c] чисел - соответствующие элементы c[ij] матрицы C. Если умножать матрицы нельзя в первой и единственной строке вывести число -1.

Пример

Входные данные #1
2 3
1 3 4
5 -2 3
3 3
1 3 2
2 1 3
0 -1 1
Выходные данные #1
2 3
7 2 15
1 10 7
Входные данные #2
2 3
10 12 31
23 11 17
3 4
0 2 1 4
3 9 2 4
-5 4 2 5
Выходные данные #2
2 4
-119 252 96 243
-52 213 79 221