semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    int i,j,k,l,m,n,y,o,p,z,a[100][100],b[100][100],c[100][100];
    scanf("%d %d",&m,&n);
    for(i=0;i<m;i++)
    {
                     for(j=0;j<n;j++)
                     {
                                     scanf("%d",&a[i][j]);
                     }
    }
    scanf("%d %d",&o,&p);
    for(i=0;i<o;i++)
    {
                     for(j=0;j<p;j++)
                     {
                                     scanf("%d",&b[i][j]);
                     }
    }
    for(i=0;i<m;i++)
    {
                    for(j=0;j<p;j++)
                    {
                                    c[i][j]=0;
                                    for(k=0;k<n;k++)
                                    {
                                                    c[i][j]=c[i][j]+a[i][k]*b[k][j];
                                    }
                                    if(j==p-1) printf("%d\n",c[i][j]);
                                    else printf("%d ",c[i][j]);
                    }
    }

}
//********************************
//*???????   **
//*?????? 1200012827 **
//*???2012.11.6  **
//********************************
int main()
{
    int m,n;
    cin >> m >> n;
    int number1[m][n];
    int i,j;
    for (i=0;i<=m-1;i++)                      //??m?n?????????
    {
        for (j=0;j<=n-1;j++)
        {
            int a;
            cin >> a;
            number1[i][j]=a;
        }
    }
    int p,q;
    cin >> p >> q;
    int number2[p][q];

    for (i=0;i<=p-1;i++)                    
    {
        for (j=0;j<=q-1;j++)                //??p?q?????????
        {
            int a;
            cin >> a;
            number2[i][j]=a;
        }
    }
    int c[m][q],k;
    for (i=0;i<=m-1;i++)
    {
        for (j=0;j<=q-1;j++)
        {
            c[i][j]=0;
            for (k=0;k<=n-1;k++)
            {
                c[i][j]+=number1[i][k]*number2[k][j];         //??????????
            }
        }
    }
    
    for (i=0;i<=m-1;i++)
    {
        for (j=0;j<=q-2;j++)
        {
            cout << c[i][j] <<" ";                            //????????
        }
        if (j==q-1)
        {
                   cout << c[i][j] << '\n';
        }
    }
  
    return 0;
}
int main ()
{
	int a[105][105], b [105][105],c [105][105];
	int i, j, k, x1, y1, x2, y2;
	cin >> x1 >> y1;
	for (i = 1; i <= x1; i ++)
	{
		for (j = 1; j <= y1; j ++)
		{
			cin >> a[i][j];
		}
	}
	cin >> x2 >> y2;
	for (i = 1; i <= x2; i ++)
	{
		for (j = 1; j <= y2; j ++)
		{
			cin >> b[i][j];
		}
	}
	for (i = 1; i <= x1;i ++)
	{
		for (j = 1; j <= y2; j ++)
		{
			c[i][j] =  0;
			for (k = 1; k <= y1; k ++)
			{
				c[i][j] = c[i][j] + a[i][k] * b [k][j];
			}
		}
	}
	for (i = 1; i <= x1;i ++)
	{
		for (j = 1; j <= y2; j ++)
		{
			if (j != y2)
				cout << c[i][j] << " ";
			else
				cout << c[i][j] << endl;
		}
	}
	return 0;
}
int main()
{
	int a[101][101];
	int b[101][101];
	int c[101][101];
	int i,j,x1,y1,x2,y2,q;
	scanf("%d",&x1);
	scanf("%d",&y1);
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	scanf("%d",&x2);
	scanf("%d",&y2);
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		{
			scanf("%d",&b[i][j]);
		}
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
			c[i][j]=0;
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			for(q=0;q<x2;q++)
			{
				c[i][j]=c[i][j]+a[i][q]*b[q][j];
			}
		}
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2;j++)
		{
			if(j==y2-1)
				printf("%d\n",c[i][j]);
			else
				printf("%d ",c[i][j]);
		}
	}
	return 0;
}
main()
{
      int a[100][100],b[100][100];
      int x1,y1,x2,y2,n,m,l,h;
      int c[100][100],i,j,s,k;
      s=0;
      scanf("%d %d",&x1,&y1);
      for(n=0;n<x1;n++)
      {
                          for(m=0;m<y1;m++)
                          scanf("%d",&a[n][m]);
      }
      scanf("%d %d",&x2,&y2);
      for(h=0;h<x2;h++)
      {
                          for(l=0;l<y2;l++)
                          scanf("%d",&b[h][l]);
      }
      for(i=0;i<x1;i++)
      {
                           for(j=0;j<y2;j++)
                           {
                                                
                                                for(k=0;k<x2;k++)
                                                {
                                                    s=s+a[i][k]*b[k][j];                                                                                                                                            
                                                }   
                                                c[i][j]=s;  
                                                s=0;               
                           }          
      }
      for(i=0;i<x1;i++)
      {
                        for(j=0;j<y2;j++)
                        {
                                          if(j==0)
                                          printf("%d",c[i][j]);
                                          else
                                          printf(" %d",c[i][j]);
                                         
                        }
                          printf("\n");
      }
      
}
int max(int a,int b)
{
	if(a>b) return a;
	else return b;
}
int min(int a,int b)
{
	if(a>b) return b;
	else return a;
}
int main()
{
	int x1,y1,x2,y2,x,y,m,i,j,k,a[100][100],b[100][100],c[100][100];
	cin>>x1>>y1;
	for(i=0;i<100;i++)
	{
		for(j=0;j<100;j++)
		{
			a[i][j]=0;
			b[i][j]=0;
			c[i][j]=0;
			
		}
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		cin>>a[i][j];
	}
	cin>>x2>>y2;
	for(i=0;i<x2;i++)
	{
		for(j=0;j<y2;j++)
		cin>>b[i][j];
	}
	x=max(x1,x2);
	y=max(y1,y2);
	m=min(x,y);
	
	for(i=0;i<x;i++)
	{
		for(j=0;j<y;j++)
		{
			for(k=0;k<m;k++)
			c[i][j]=c[i][j]+a[i][k]*b[k][j];
		}
	}
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y2-1;j++)
		{
			cout<<c[i][j]<<" ";
		}
		cout<<c[i][y2-1]<<endl;
	}
	return 0;
}
int main ()
{
	int a[101][101], b[101][101], c[101][101];
	int i, j, k, x1, y1, x2, y2, sum = 0;
	cin >> x1 >> y1;
	for ( i = 1; i <= x1; i++ )
		for ( j = 1; j <= y1; j++)
			cin >> a[i][j];
	cin >> x2 >> y2;
	for ( i = 1; i <= x2; i++ )
		for ( j = 1; j <= y2; j++ )
			cin >> b[i][j];
	for ( i = 1; i <= x1; i++ )
		for ( j = 1; j <= y2; j++ )
		{
			for ( k = 1; k <= x2; k++ )
				sum = sum + a[i][k] * b[k][j];
			c[i][j] = sum;
			sum = 0;
		}
	for ( i = 1; i <= x1; i++ )
		for ( j =1 ; j <= y2; j++ )
		{
			if ( j != y2 )
				cout << c[i][j] << " ";
			if ( j == y2 )
				cout << c[i][j] << endl;
		}
		return 0;
}
int main()
{
	int x1, y1, x2, y2, i, j, k;
	int a[100][100], b[100][100], c[100][100], d[100][100];
	cin>>x1>>y1;
	for (i = 0; i < x1; i ++)
	{
		for (j = 0; j < y1; j ++)
		{
			cin>>a[i][j];
		}
	}
	cin>>x2>>y2;
	for (i = 0; i < x2; i ++)
	{
		for (j = 0; j < y2; j ++)
		{
			cin>>b[i][j];
			d[j][i] = b [i][j];
		}
	}
	for (i = 0; i < x1; i ++)
	{
		for (j = 0; j < y2; j ++)
		{
			c[i][j] = 0;
			for (k = 0; k < x2; k ++)
			{
				c[i][j] += a[i][k] * d[j][k];
			}
		}
	}
	for (i = 0; i < x1; i ++)
	{
		for (j = 0; j < y2 - 1; j ++)
		{
			cout<<c[i][j]<<" ";
		}
		cout<<c[i][y2-1]<<endl;
	}
	return 0;
}
int main()
{
int x1,y1;
int x2,y2;
int num1[100][100];
int num2[100][100];
int num[100][100];
cin>>x1>>y1;
for (int i=0;i<=x1-1;i++)
{
	for (int j=0;j<=y1-1;j++)
	{
		cin>>num1[i][j];
	}
}
cin>>x2>>y2;
for (int i=0;i<=x2-1;i++)
{
	for (int j=0;j<=y2-1;j++)
	{
		cin>>num2[i][j];
	}
}
for (int i=0;i<=x1-1;i++)
{
	int p=0;
	for (int j=0;j<=y2-1;j++)
	{
		num[i][j]=0;
		for (int a=0;a<=y1-1;a++)
		{
			num[i][j]+=(num1[i][a]*num2[a][j]);
		}
		if (p>=1)
		{
			cout<<" ";
		}
		cout<<num[i][j];
		p++;

	}
	cout<<endl;
}

}
int a[105][105],b[105][105],c[105][105],x1,y1,x2,y2;
void init(){
	cin>>x1>>y1;
	for(int i=0;i<x1;i++)
		for(int j=0;j<y1;j++)
			cin>>a[i][j];
	cin>>x2>>y2;
	for(int i=0;i<x2;i++)
		for(int j=0;j<y2;j++)
			cin>>b[i][j];
}
void calc(){
	for(int i=0;i<x1;i++)
		for(int j=0;j<y2;j++){
			c[i][j]=0;
			for(int k=0;k<y1;k++)
				c[i][j]+=a[i][k]*b[k][j];			
		}
}
void print(){
	for(int i=0;i<x1;i++){
		for(int j=0;j<y2;j++){
			if(j)cout<<" ";
			cout<<c[i][j];		
		}
		cout<<endl;
	}
}

int main(){
	init();
	calc();
	print();
	//cin>>x1;
	return 0;
}
int main()
{
	int x1,y1,x2,y2,i,j,k,l;
	int a[100][100],b[100][100],c[100][100];
    cin>>x1>>y1;
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>x2>>y2;
	for(k=0;k<x2;k++)
	{
		for(l=0;l<y2;l++)
        {
			cin>>b[k][l];
		}
	}
	int x,y,z;
	for(x=0;x<x1;x++)
	{
		for(y=0;y<y2;y++)
		{
			c[x][y]=0;
			for(z=0;z<y1;z++)
			{
				c[x][y]+=a[x][z]*b[z][y];
			}
		}
	}
	int m,n;
	for(m=0;m<x1;m++)
	{
		for(n=0;n<y2-1;n++)
		{
			cout<<c[m][n]<<" ";
		}
		cout<<c[m][y2-1]<<endl;
	}
	return 0;
}
int main()
{
	int a[10000],b[10000],c[10000];
	int i,j,k,sum,x1,x2,y1,y2;
	scanf("%d %d",&x1,&y1);
	for(i=0;i<x1;i++)
	{
       for(j=0;j<y1;j++)
          scanf("%d",&a[i*y1+j]);
    }
    scanf("%d %d",&x2,&y2);
    for(i=0;i<x2;i++)
	{
       for(j=0;j<y2;j++)
          scanf("%d",&b[i*y2+j]);
    }
    for(i=0;i<x1;i++)
    {
       for(j=0;j<y2;j++)
       {
          sum=0;
          for(k=0;k<y1;k++)
             sum=sum+a[i*y1+k]*b[k*y2+j];
          if(j<y2-1)
	         printf("%d ",sum);
          else
             printf("%d\n",sum);
       }
    }
}
main()
{
    int x1,y1;
    scanf("%d %d",&x1,&y1);
    int a[x1][y1];
    for(int i=0;i<x1;i++)
    {
        for(int j=0;j<y1;j++)
        scanf("%d",&a[i][j]);
    }
    int x2,y2;
    scanf("%d %d",&x2,&y2);
    int b[x2][y2];
    for(int i=0;i<x2;i++)
    {
        for(int j=0;j<y2;j++)
        scanf("%d",&b[i][j]);
    }
    int c[x1][y2],m;
    m=0;
    for(int i=0;i<x1;i++)
    {
        for(int j=0;j<y2;j++)
        {
            for(int q=0;q<y1;q++)
            {
               m=m+(a[i][q])*(b[q][j]);
            }
               c[i][j]=m;
               m=0;
        }
    }
    int n;
    n=0;
    for(int i=0;i<x1;i++)
    {
        for(int j=0;j<y2;j++)
        {
        n++;
        if(n%y2==0)
        printf("%d\n",c[i][j]);
        else
        printf("%d ",c[i][j]);
        }
    }
}
/*???????
  ??????1200012829
  ???2012-11-10 0:04:13*/
int main ()
{
	int a[100][100], b[100][100], x1, x2, y1, y2, i, j, k, l, c[100][100] = {{0,0}}, m;
	cin >> x1 >> y1;
	for ( i = 0; i <= x1 - 1; i++ )
	{
		for ( j = 0; j <= y1 - 1; j++ )
		{
			cin >> a[i][j];
		}
	}
	cin >> x2 >> y2;
	for ( k = 0; k <= x2 - 1; k++ )
	{
		for ( l = 0; l <= y2 - 1; l++ )
		{
			cin >> b[k][l];
		}
	}
	for ( i = 0; i <= x1 - 1; i++ )
	{
		for ( j = 0; j <= y2 - 1; j++ )
		{
			for ( m = 0; m <= y1 - 1; m++ )
			{
				c[i][j] = c[i][j] + a[i][m] * b[m][j];
			}
			if ( j == y2 - 1 && i != x1 - 1 )
			{
				cout << c[i][j] << endl;
			}
			else if ( j != y2 -1 )
			{
				cout << c[i][j] << ' ' ;
			}
			else
			{
				cout << c[i][j];
			}
		}
	}
	return 0;
}
int main()
{
	int x1,y1,x2,y2,x3,y3,i,j,k,l,m,n,p,a[101][101],b[101][101],c[101][101],sum;
	scanf("%d %d",&x1,&y1);
	for (i=0;i<x1;i++)
		{for (j=0;j<y1;j++)
			{scanf("%d",&a[i][j]);
			}
		}
	scanf("%d %d",&x2,&y2);
	for (k=0;k<x2;k++)
		{for (l=0;l<y2;l++)
			{scanf("%d",&b[k][l]);
			}
		}
	x3=x1;
	y3=y2;
	for (m=0;m<x3;m++)
		{for (n=0;n<y3;n++)
			{sum=0;
			 for (p=0;p<y1;p++)
				{sum+=a[m][p]*b[p][n];
				}
			 c[m][n]=sum;
			}
		}
	for (m=0;m<x3;m++)
		{for (n=0;n<y3-1;n++)
			{printf("%d ",c[m][n]);
			}
		 if (n==y3-1)
			{printf("%d\n",c[m][n]);
			}
		}
	return 0;
}
int main()
{
	int a[101][101], b[101][101], c[101][101] = {0}, x1, y1, x2, y2, i, j, k, l;
	cin >> x1 >> y1;
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j<= y1; j++)
		{
			cin >> a[i][j];
		}
	}
	cin >> x2 >> y2;
	for (i = 1; i <= x2; i++)
	{
		for (j = 1; j <= y2; j++)
		{
			cin >> b[i][j];
		}
	}
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j <= y2; j++)
		{
			for (k = 1; k <= x2; k++)
			{
				c[i][j] = c[i][j] + a[i][k] * b[k][j];
			}
		}
	}
	for (i = 1; i <= x1; i++)
	{
		for (j = 1; j <= y2; j++)
		{
			if (i == x1 && j == y2)
			{
				cout << c[i][j];
				break;
			}
			if (j != y2)
			{
				cout << c[i][j] << " ";
			}
			else 
				cout << c[i][j] << endl;
		}
	}
	return 0;
}
main()
{
	int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100],i1,j1,i2,j2,i3,j3,l,h,k,q;
	scanf("%d",&x1);
	scanf("%d",&y1);
	for(i1=0;i1<=x1-1;i1++)
	{
	    for(j1=0;j1<=y1-1;j1++)
	    scanf("%d",&a[i1][j1]);
	}
	scanf("%d",&x2);
	scanf("%d",&y2);
	for(i2=0;i2<=x2-1;i2++)
	{
	    for(j2=0;j2<=y2-1;j2++)
	    scanf("%d",&b[i2][j2]);
	}
	for(i3=0;i3<=x1-1;i3++)
	{
		for(j3=0;j3<=y2-1;j3++)
		{
		q=0;
		for(k=0;k<=x2-1;k++)
		q=q+a[i3][k]*b[k][j3];
		c[i3][j3]=q;
		}
	}
	for(l=0;l<=x1-1;l++)
	{
		printf("%d",c[l][0]);
	    if(y2!=1)
	    {
	    	for(h=1;h<=y2-1;h++)
	    	printf(" %d",c[l][h]);
	    }
	    printf("\n");
	}
	return 0;
}
/*
2010 11 19 ??

??
???int a[4][3]???int b[3][5]??????????????????c=a*b. ????? 
c00 c01 c02 c03 c04 
c10 c11 c12 c13 c14 
c20 c21 c22 c23 c24 
c30 c31 c32 c33 c34 

?????????: 
????A[m][q]*B[q][n], 
????????C[m][n]?????C?????? 
C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + ..... + A[i][q]*B[q][j] 

?????????????4*3?3*5?????????????
????
????????????x1?y1?1<=x1<=100, 1<=y1<=100?? 
????x1?????y1???????????? 
???????????????x2?y2?1<=x2<=100?1<=y2<=100?????x2?y1???? 
????x2?????y2???????????? 
?????????int??????? 

??????? 
x1 y1 
a00 a01 a02 
a10 a11 a12 
a20 a21 a22 
a30 a31 a32 
x2 y2 
b00 b01 b02 b03 b04 
b10 b11 b12 b13 b14 
b20 b21 b22 b23 b24
????
?????x1???????????y2??????????c?????????? 

??????? 
c00 c01 c02 c03 c04 
c10 c11 c12 c13 c14 
c20 c21 c22 c23 c24 
c30 c31 c32 c33 c34

?? 1000012760

*/


int main(){

	int A[100][100], B[100][100], C[100][100];
	int i= 0, j= 0, k= 0, x1= 0, y1= 0, x2= 0, y2= 0;

	cin>>x1>>y1;

	for(i= 0; i< x1; i++)
		for(j= 0; j< y1; j++){
			cin>>A[i][j];
		}
	cin>>x2>>y2;

	for(i= 0; i< x2; i++)
		for(j= 0; j< y2; j++){
			cin>>B[i][j];
		}

	for(i= 0; i< x1; i++)
		for(j= 0; j< y2; j++){
			C[i][j]= 0;
			for(k= 0; k< y1; k++){
				C[i][j]= C[i][j]+ A[i][k]* B[k][j];
			}
		}

	for(i= 0; i< x1; i++){
		for(j= 0; j< y2- 1; j++){
			cout<<C[i][j]<<' ';
		}
		cout<<C[i][y2-1]<<endl;
	}


	return 0;
}
int main()
{
	int x1,y1,x2,y2,a[100][100],b[100][100],c[100][100];
	cin>>x1>>y1;
	for (int i=0;i<x1;i++)
	{
		for (int j=0;j<y1;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>x2>>y2;
	for (int k=0;k<x2;k++)
	{
		for (int l=0;l<y2;l++)
		{
			cin>>b[k][l];
		}
	}
	for (int p=0;p<x1;p++)
	{
		for (int q=0;q<y2;q++)
		{
			c[p][q]=0;
			for (int o=0;o<y1;o++)
			{
				c[p][q]+=a[p][o]*b[o][q];
			}
		}
	}
	for (int u=0;u<x1;u++)
	{
		for (int m=0;m<y2-1;m++)
		{
			cout<<c[u][m]<<" ";
		}
		cout<<c[u][y2-1]<<endl;
	}
	return 0;
}
int main()
{
	int x1 , y1, x2, y2, i, j, k, a[101][101]={0}, b[101][101]={0}, c[101][101]={0};
	cin >> x1 >> y1;
	k=1;
	for (i=1;i<=x1;i++)
		for (j=1;j<=y1;j++)
			cin >> a[i][j];//???????
	cin >> x2 >> y2;
	for (i=1;i<=x2;i++)
		for (j=1;j<=y2;j++)
			cin >> b[i][j];//???????
    for (i=1;i<=x1;i++)
		for (j=1;j<=y2;j++)
			for (k=1;k<=y1;k++)
				c[i][j]=c[i][j] + a[i][k] * b[k][j] ;
			k=1;//????
			if (x1*y2==1)
				cout << c[1][1];
			else 
			{
		for (i=1;i<=x1;i++)
		{    cout<<c[i][1];
			for (j=2;j<=y2;j++)
			{    
				cout << " " << c[i][j] ;
			}
				   cout << endl;

		}
			}
}
main()
{
	int x1,y1,x2,y2,i,j,k;
	scanf("%d %d",&x1,&y1);
	int a[x1][y1];
	for(i=0;i<=x1-1;i++)
	{
		for(j=0;j<=y1-1;j++)
		scanf("%d",&a[i][j]);
	} 
	scanf("%d %d",&x2,&y2);
	int b[x2][y2];
	for(i=0;i<=x2-1;i++)
	{
		for(j=0;j<=y2-1;j++)
		scanf("%d",&b[i][j]);
	} 
	int c[x1][y2];
	for(i=0;i<=x1-1;i++)
	{
		for(j=0;j<=y2-1;j++)
		{
			c[i][j]=0;
			for(k=0;k<=y1-1;k++)
			c[i][j]=c[i][j]+a[i][k]*b[k][j];
			if(j!=y2-1)
			printf("%d ",c[i][j]);
			else if(j==y2-1&&i!=x1-1)
			printf("%d\n",c[i][j]);
			else if(j==y2-1&&i==x1-1)
			printf("%d",c[i][j]);
		}
	}
}
// ?????.cpp : Defines the entry point for the console application.
// ?????????????
int main()
{
	int a[100][100]={0},b[100][100]={0},c[100][100]={0};                 //??????a[100][100],b[100][100],c[100][100]???????c[100][100]???
	int x1=0,y1=0,x2=0,y2=0,i=0,j=0,k=0;                 //?????????x1?y1,x2,y2?????A?B?????
	cin>>x1>>y1;                                         //??x1?y1
	for(i=0;i<x1;i++)                                    //?for????a
		for(j=0;j<y1;j++)
		{
			cin>>a[i][j];
		}
		cin>>x2>>y2;                                     //??x2?y2
		for(i=0;i<x2;i++)                                //?for????b
			for(j=0;j<y2;j++)
			{
				cin>>b[i][j];
			}
			for(i=0;i<x1;i++)                            //for????
			{
				for(j=0;j<y2;j++)
				{
					for(k=0;k<y1;k++)
					{
						c[i][j]=c[i][j]+a[i][k]*b[k][j];    //?c[i][j]??
					}
				}
			}
					for(i=0;i<x1-1;i++)                     //??????
					{
						cout<<c[i][0];
						for(j=1;j<y2;j++)
						{
							cout<<" "<<c[i][j];
						}
						cout<<endl;
					}
					cout<<c[x1-1][0];
					for(j=1;j<y2;j++)
					{
						cout<<" "<<c[x1-1][j];
					}
					return 0;
}
int main()
{
	int a[150][150]={0};
	int b[150][150]={0};
	int x1,x2,y1,y2,i,j;
	scanf("%d %d",&x1,&y1);
	for(i=0;i<x1;i++){
		for(j=0;j<y1;j++){
			scanf("%d",&a[i][j]);
		}
	}
	scanf("%d %d",&x2,&y2);
	for(i=0;i<x2;i++){
		for(j=0;j<y2;j++){
			scanf("%d",&b[i][j]);
		}
	}
	int c[150][150]={0};
	int k;
	for(i=0;i<x1;i++){
		for(j=0;j<y2;j++){
	for(k=0;k<y1;k++){
		c[i][j]=c[i][j]+a[i][k]*b[k][j];
	}
		}
	}
	for(i=0;i<x1;i++){
		for(j=0;j<y2-1;j++){
			printf("%d ",c[i][j]);
		}
		printf("%d",c[i][y2-1]);
		printf("\n");
	}
	return 0;
}
//?????
int main()
{
    int x1=0,y1=0,x2=0,y2=0;
    int i=0,j=0,k=0;
    cin>>x1>>y1;
    int a[101][101];
    int b[101][101];
    int c[101][101];
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y1;j++)
        {
             cin>>a[i][j];
        }
    }
    cin>>x2>>y2;
    for(i=0;i<x2;i++)
    {
        for(j=0;j<y2;j++)
        {
             cin>>b[i][j];
        }
    }
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y2;j++)
        {
             c[i][j]=0;
             for(k=0;k<y1;k++)                  //?????????? 
             {
                 c[i][j]=c[i][j]+a[i][k]*b[k][j];
             }             
        }
    }
    for(i=0;i<x1;i++)
    {
        for(j=0;j<y2-1;j++)
        {
           cout<<c[i][j]<<" ";        //???? 
        }
        cout<<c[i][y2-1]; //????????? 
        cout<<"\n";
    }
    
    return 0;
}
int main()
{
    int x1, y1, x2, y2, i, j, k;
    cin >> x1 >> y1;
    int a[x1][y1];
    for(i = 0; i < x1; i++)
        for(j = 0; j < y1; j++)
        cin >> a[i][j];
    cin >> x2 >> y2;
    int b[x2][y2], c[x1][y2];
    memset(c, 0, sizeof(c));
    for(i = 0; i < x2; i++)
        for(j = 0; j < y2; j++)
        cin >> b[i][j];
    for(i = 0; i < x1; i++)
        for(k = 0; k < y2; k++)
          for(j = 0; j < y1; j++)
        c[i][k] += a[i][j] * b[j][k];
    for(i = 0; i < x1; i++)
   {
       for(k = 0; k < y2 - 1; k++)
      {
        cout << c[i][k] << " ";
      }
        cout << c[i][y2 - 1] << endl;
   }
    return 0;
}
int a[2][102][102] , x[2] , y[2] , t;

int main ()
{
   int i , j , k;
   for ( i = 0 ; i < 2 ; i ++ )
    {
     scanf ( "%d%d" , &x[i] , &y[i] );
     for ( j = 0 ; j < x[i] ; j ++ )
      for ( k = 0 ; k < y[i] ; k ++ )
       scanf ( "%d" , &a[i][j][k] );
    }
   for ( i = 0 ; i < x[0] ; i ++ )
    {
     for ( j = 0 ; j < y[1] ; j ++ )
      {
       t = 0;
       for ( k = 0 ; k < x[1] ; k ++ )
        t += a[0][i][k] * a[1][k][j];
       printf ( "%d" , t );
       if ( j < y[1] - 1 ) printf ( " " );
      }
     printf ( "\n" );
    }
  // getchar (); getchar ();
   return 0;
}
int main()
{
	int x1, x2, y1, y2;
	int a[100][100], b[100][100], c[100][100];
	cin >> x1 >> y1;
	for(int i = 0; i <= x1 - 1; i ++)
		for(int j = 0; j <= y1 - 1; j ++)
			cin >> a[i][j];
	cin >> x2 >> y2;
	for(int k = 0; k <= x2 - 1; k ++)
		for(int q = 0; q <= y2 - 1; q ++)
			cin >> b[k][q];
	for(int w = 0; w <= x1 -1; w ++)
		for(int e = 0; e <= y2 - 1; e ++)
		{
			c[w][e] = 0;
			for(int r = 0; r <= y1 - 1; r ++)
			{
				c[w][e] = c[w][e] + a[w][r] * b[r][e];
			}
			if(e == 0)
				cout << c[w][e];
			else
				cout << " " << c[w][e];
			if(e == y2 - 1)
				cout << "\n";
		}
	return 0;
}
main()
{
	int a[M][M],b[M][M],c[M][M];
	int i,j,k,x1,y1,x2,y2;
	scanf("%d %d",&x1,&y1);
	for(i=0;i<x1;i++)
	for(j=0;j<y1;j++)
	scanf("%d",&a[i][j]);
	scanf("%d %d",&x2,&y2);
	for(i=0;i<x2;i++)
	for(j=0;j<y2;j++)
	scanf("%d",&b[i][j]); 
    for(i=0;i<x1;i++)
    {
    	for(j=0;j<y2;j++)
    	{
    		for(k=0;k<x2;k++)
    		{
    			c[i][j]+=a[i][k]*b[k][j];
    		}
    	}
    }
    for(i=0;i<x1;i++)
    {
    	printf("%d",c[i][0]);
    	for(j=1;j<y2;j++)
    	{
    		printf(" %d",c[i][j]);
    	}
		printf("\n");
    }
}
int main ()
{
	int x1, y1, x2, y2, i, j;
	int a[100][100] = {0}, b[100][100] = {0}, c[100][100] = {0};
	cin >> x1 >> y1;
	for (i = 0; i <= x1 - 1; i++)
		for (j = 0; j <= y1 - 1; j++)
		{
			cin >> a[i][j];
		}
	cin >> x2 >> y2;
	for (i = 0; i <= x2 - 1; i++)
		for (j = 0; j <= y2 - 1; j++)
		{
			cin >> b[i][j];
		}
	for (i = 0; i <= x1 - 1; i++)
		for (j = 0; j <= y2 - 1; j++)
		{
			for (int k = 0; k <= y1 - 1; k++)
			{
				c[i][j] += a[i][k] * b[k][j];
			}
		    if (j != y2 - 1)
				cout << c[i][j] << " ";
			else 
				cout << c[i][j] << endl;
		}
	return 0;
}
main()
{
      int x1,y1,x2,y2,i,j,m;
      scanf("%d%d",&x1,&y1);
      int a[x1][y1];
      for(i=0;i<x1;i++)
      for(j=0;j<y1;j++)
      scanf("%d",&a[i][j]);
      scanf("%d%d",&x2,&y2);
      int b[x2][y2];
      for(i=0;i<x2;i++)
      for(j=0;j<y2;j++)
      scanf("%d",&b[i][j]);
      int c[x1][y2];
      for(i=0;i<x1;i++)
      for(j=0;j<y2;j++)
      {    
           c[i][j]=0;
           for(m=0;m<y1;m++)
           c[i][j]=c[i][j]+a[i][m]*b[m][j];
           if(j!=y2-1)
           printf("%d ",c[i][j]);
           else
           printf("%d\n",c[i][j]);
      }                
 
}
int main()
{
    int a[101][101],b[101][101],c[101][101];
    int x1,y1,x2,y2,i,j,k;
    scanf("%d %d",&x1,&y1);
    for(i=0;i<x1;i++)
    {
                       for(j=0;j<y1;j++)
                       {
                                         scanf("%d",&a[i][j]);
                       }
    }
    scanf("%d %d",&x2,&y2);
    for(i=0;i<x2;i++)
    {
                     for(j=0;j<y2;j++)
                     {
                                      scanf("%d",&b[i][j]);
                     }
    }
    for(i=0;i<x1;i++)
    {
                     for(j=0;j<y2;j++)
                     {
                                      c[i][j]=0;
                                      for(k=0;k<x2;k++)
                                      {
                                                       c[i][j]+=a[i][k]*+b[k][j];
                                      }
                     }
    }
    for(i=0;i<x1;i++)
    {
                     for(j=0;j<y2;j++)
                     {
                                      if(j!=y2-1)  printf("%d ",c[i][j]);
                                      else printf("%d",c[i][j]);
                     }
                     printf("\n");
    }
}
int main()
{
	int i,j,x1,y1,x2,y2,x,m=0,k;
	scanf("%d %d",&x1,&y1);
	int *a;
	a=(int *)malloc(x1*y1*sizeof(int));
    memset(a,0,sizeof(int)*x1*y1);
	for(i=0;i<x1;i++)
		for(j=0;j<y1;j++)
		  scanf("%d",&a[i*y1+j]);
    scanf("%d %d",&x2,&y2);
	int *b;
	b=(int *)malloc(x2*y2*sizeof(int));
     memset(b,0,sizeof(int)*x2*y2);
	for(i=0;i<x2;i++)
		for(j=0;j<y2;j++)
		  scanf("%d",&b[i*y2+j]);
	int *c;
	c=(int *)malloc(x1*y2*sizeof(int));
	memset(c,0,sizeof(int)*x1*y2);
    x=y1>x2?x2:y1;
    for(i=0;i<x1;i++)
		for(j=0;j<y2;j++)
			for(k=0;k<x;k++)
			c[i*y2+j]=c[i*y2+j]+a[i*y1+k]*b[k*y2+j];
	for(i=0;i<x1*y2;i++)
		{
		if(m==(y2-1))
		{
			m=0;
			printf("%d\n",c[i]);
		}
		else 
		{
			printf("%d ",c[i]);
			m++;
		}
	}
    
}
int main ()
{
	int x1,x2,y1,y2,a[100][100],b[100][100],c[100][100]={0},i,j,k;
	cin >>x1>>y1;
	for (i=0;i<x1;i++)
	{
		for (j=0;j<y1;j++)
		{
			cin >>a[i][j];
		}
	}
	cin >>x2>>y2;
	for (i=0;i<x2;i++)
	{
		for (j=0;j<y2;j++)
		{
			cin >>b[i][j];
		}
	}	
	for (i=0;i<x1;i++)
	{
		for (j=0;j<y2;j++)
		{
			for (k=0;k<x2;k++) 
			{	
				c[i][j]+=a[i][k]*b[k][j];
			}
		}
	}
	for (i=0;i<x1;i++)
	{
		for (j=0;j<y2-1;j++)
		{
			cout <<c[i][j]<<" ";
		}
		cout <<c[i][y2-1]<<endl;
	}
	return 0;
}