#include <iostream>
using namespace std;
#define MAXX 100
int a[MAXX][MAXX];
int b[MAXX][MAXX];
int main()
{
int m,n,l,k;
cin >> m >> n >> l >> k;
for(int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
{
cin >> a[i][j];
}
}
for(int i=0; i<l; i++)
for(int j=0; j<k; j++)
cin >> b[i][j];
int c[MAXX][MAXX];
if(n != l)
cout << "无法惊醒矩阵相乘" << endl;
else
for(int i=0; i<m; i++)
for(int j=0; j<k; j++)
for(int h=0; h<n; h++)
c[i][j] += a[i][h]*b[h][j];
for(int i=0; i<m; i++)
{
for(int j=0; j<k; j++)
{
cout << c[i][j] << endl;
}
}
}
using namespace std;
#define MAXX 100
int a[MAXX][MAXX];
int b[MAXX][MAXX];
int main()
{
int m,n,l,k;
cin >> m >> n >> l >> k;
for(int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
{
cin >> a[i][j];
}
}
for(int i=0; i<l; i++)
for(int j=0; j<k; j++)
cin >> b[i][j];
int c[MAXX][MAXX];
if(n != l)
cout << "无法惊醒矩阵相乘" << endl;
else
for(int i=0; i<m; i++)
for(int j=0; j<k; j++)
for(int h=0; h<n; h++)
c[i][j] += a[i][h]*b[h][j];
for(int i=0; i<m; i++)
{
for(int j=0; j<k; j++)
{
cout << c[i][j] << endl;
}
}
}