num+=a[i][k]*b[k][j];
#include <iostream>
#include <cstdio>
using namespace std;
int a[110][110],b[110][110],c[110][110];
int num;
int main()
{
int r1,c1;
cin>>r1>>c1;
for(int i=0;i<r1;i++){
for(int j=0;j<c1;j++){
scanf("%d",&a[i][j]);
}
}
int r2,c2;
cin>>r2>>c2;
for(int i=0;i<r2;i++){
for(int j=0;j<c2;j++){
scanf("%d",&b[i][j]);
}
}
if(c1!=r2){
cout<<"Error: "<<c1<<" != "<<r2<<endl;
}else{
cout<<r1<<" "<<c2<<endl;
for(int i=0;i<r1;i++){
for(int j=0;j<c2;j++){
num=0;
for(int k=0;k<c1;k++){
num+=a[i][k]*b[k][j];
}
if(j==0)cout<<num;
else cout<<" "<<num;
}
cout<<endl;
}
}
return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;
int a[1010][1010]={0},b[1010][1010]={0},c[1010][1010]={0};
int main()
{
int Ra, Ca;
cin>>Ra>>Ca;
for(int i=0;i<Ra;i++){
for(int j=0;j<Ca;j++){
scanf("%d",&a[i][j]);
}
}
int Rb, Cb;
cin>>Rb>>Cb;
for(int i=0;i<Rb;i++){
for(int j=0;j<Cb;j++){
scanf("%d",&b[i][j]);
}
}
if(Ca!=Rb){
cout<<"Error: "<<Ca<<" != "<<Rb;
return 0;
}
else{
cout<<Ra<<" "<<Cb<<endl;
for(int i=0;i<Ra;i++){
for(int j=0;j<Cb;j++){
int num=0;
for(int m=0;m<Ca;m++){
num+=a[i][m]*b[m][j];
}
if(j==0)cout<<num;
else cout<<" "<<num;
}
cout<<endl;
}
}
return 0;
}