#include #define N 20 void print(int m[N][N], int a, int b) { for (int i = 0; i < a; i++) { for (int j = 0; j < b - 1; j++) { printf("%d ", m[i][j]); } printf("%d\n", m[i][b-1]); } } int main() { int m1[N][N], m = 0, n = 0; int m2[N][N], o = 0, p = 0; int m3[N][N]; scanf("%d %d", &n, &m); if (m > 20 || n > 20) return 1; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf("%d", &m1[i][j]); } } scanf("%d %d", &p, &o); if (o > 20 || p > 20 || n != o) return 1; for (int i = 0; i < o; i++) { for (int j = 0; j < p; j++) { scanf("%d", &m2[i][j]); } } for (int i = 0; i < m; i++) { for (int j = 0; j < p; j++) { int res = 0; for (int k = 0; k < n; k++) { res += m1[i][k] * m2[k][j]; } m3[i][j] = res; } } print(m3, m, p); }