semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int a[110][110],b[110][110],c[110][110],x1,y1,x2,y2,i,j,n=0,m;
	scanf("%d %d",&x1,&y1);
	for(i=1;i<=x1;i++)
	{
		scanf("%d",&a[i][1]);
		for(j=2;j<=y1;j++)
		{
			scanf(" %d",&a[i][j]);
		}
	}
	scanf("%d %d",&x2,&y2);
	for(i=1;i<=x2;i++)
	{
		scanf("%d",&b[i][1]);
		for(j=2;j<=y2;j++)
		{
			scanf(" %d",&b[i][j]);
		}
	}
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			n=0;
			for(m=1;m<=y1;m++)
			{
				n=n+a[i][m]*b[m][j];
			}
			c[i][j]=n;
		}
	}
	for(i=1;i<=x1;i++)
	{
		printf("%d",c[i][1]);
		for(j=2;j<=y2;j++)
		{
			printf(" %d",c[i][j]);
		}
		printf("\n");
	}
}
void main()
{
	int x1,y1,x2,y2,i,j,a[100][100],b[100][100],s;
	static int c[100][100];
	scanf("%d %d",&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);
	for(i=0;i<=x2-1;i++)
	{
		for(j=0;j<=y2-1;j++)
			scanf("%d",&b[i][j]);
	}
	for(i=0;i<=x1-1;i++)
	{
		for(j=0;j<=y2-1;j++)
		{
			for(s=0;s<=x2-1;s++)
				c[i][j]=a[i][s]*b[s][j]+c[i][j];
		}
	}
	for(i=0;i<=x1-1;i++)
	{
		printf("%d",c[i][0]);
		for(j=1;j<=y2-1;j++)
			printf(" %d",c[i][j]);
		printf("\n");
	}
}
/*
??1
?? ????
?? ??? 1300012786 
*/
int main()
{
	int a[102][102], b[102][102], c[102][102];
	int n, q, m;
	cin >> n >> q;
	for(int i = 0; i <100; i++)
		for(int j = 0; j < 100; j++)
			c[i][j] = 0;

	for(int i = 0; i < n; i++)
		for(int j = 0; j < q; j ++)
			cin >> a[i][j];
	cin >> q >> m;

	for(int i = 0; i < q; i++)
		for(int j = 0; j < m; j ++)
			cin >> b[i][j];

	for(int i = 0; i <n; i++)	
	{
		for(int j = 0; j < m; j++)	
		{
			for(int l = 0; l < q; l++)	
				c[i][j]	+= a[i][l] * b[l][j];
		}
	}
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m - 1; j++)	
			cout << c[i][j] <<" ";
		cout << c[i][m-1]<<endl;
	}
	return 0;	
}
int main() 
{
	int a[100][100],b[100][100],c[100][100]={0};
	int i,j,k,n,m,p,q;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	scanf("%d %d",&p,&q);
	for(i=0;i<p;i++)
	{
		for(j=0;j<q;j++)
		{
			scanf("%d",&b[i][j]);
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<q;j++)
		{
			for(k=0;k<m;k++)
			{
				c[i][j]+=a[i][k]*b[k][j];
			}
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<q;j++)
		{
		    if(j==0)
		    {
			printf("%d",c[i][j]);
		    }
			else
			{
			printf(" %d",c[i][j]); 
			 }
		}
		printf("\n");
	}
}
//********************
//**????********** 
//**???1300012728**
//**2013.11.1*********
//********************
int main()
{
	int x1, y1, x2, y2;                            // ?? x1, y1, x2, y2????????????
	cin >> x1 >> y1;                               // ???????? 
	
	int a[x1][y1];                                 // ???????????a
	for (int i = 0; i < x1; i++)                   // ????a 
	{
		for (int j = 0; j < y1; j++)
			cin >> a[i][j];
	}
	cin >> x2 >> y2;
	int b[x2][y2], c[x1][y2];                      // ??????????b?????c 
	for (int i = 0; i < x2; i++)                   // ????b 
	{
		for (int j = 0; j < y2; j++)
			cin >> b[i][j];
	}
	for (int i = 0; i < x1; i++)                   // ????b 
	{
		for (int j = 0; j < y2; j++)
		{
			c[i][j] = 0;                           // ???c????? 
			for (int k = 0; k < y1; k++)           // ????c?i??j? 
				c[i][j] += a[i][k] * b[k][j];
			if (j == 0)
			cout << c[i][j];
			else
			cout << ' ' << c[i][j];                       // ?????? 
		}
		cout << endl;
	}
	return 0;
}
int main()
{
    int a[100][100],b[100][100],c[100][100]={0};
    int m,d,n;
    int i,j,k;
    //read
    scanf("%d %d",&m,&d);
    for(i=0; i<m; i++)
        for(j=0; j<d; j++)
            scanf("%d",&a[i][j]);
    scanf("%d %d",&d,&n);
    //read
    for(i=0; i<d; i++)
        for(j=0; j<n; j++)
            scanf("%d",&b[i][j]);
//cal
    for(i=0; i<m; i++)
        for(j=0; j<n; j++)
            for(k=0; k<d; k++)
                c[i][j]+=a[i][k]*b[k][j];
//print
    for(i=0; i<m; i++)
    {
        for(j=0; j<n-1; j++)
        {
            printf("%d ",c[i][j]);
        }
        printf("%d\n",c[i][j]);
    }
}
int main()
{
int x1,y1,x2,y2,i,j,p;
int a[100][100],b[100][100],c[100][100]={0};
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++)
{
for(p=0;p<x2;p++)
c[i][j]=c[i][j]+a[i][p]*b[p][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]);
}
}
}
int main()
{
	int matrixA[100][100], matrixB[100][100], matrixC[100][100] = {0};
	int i, j;
	int x1, y1;
	cin >> x1 >> y1;
	for(i = 0; i < x1; i++)
	{
		for(j = 0; j < y1; j++)
			cin >> matrixA[i][j];
	}
	int x2, y2;
	cin >> x2 >> y2;
	for(i = 0; i < x2; i++)
	{
		for(j = 0; j < y2; j++)
			cin >> matrixB[i][j];
	}
	for(int i1 = 0; i1 < x1; i1++)
	{
		for(int j1 = 0; j1 < y2; j1++)
		{
			for(i = 0; i < x2; i++)
				matrixC[i1][j1] = matrixC[i1][j1] + matrixA[i1][i] * matrixB[i][j1];
		}
	}
	for(i = 0; i < x1; i++)
	{
		cout << matrixC[i][0];
		for(j = 1; j < y2; j++)
			cout << " " << matrixC[i][j];
		cout << endl;
	}
	return 0;
}
int main()
{
	int a[100][100],b[100][100],x1,x2,y1,y2,i,j;
	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];
		}
	int c[100][100]={0},p,q;
	for(p=0;p<x1;p++)
		for(q=0;q<y2;q++)
		for (i=0;i<y1;i++)
				c[p][q]+=a[p][i]*b[i][q];

	for(p=0;p<x1;p++)
	{
		for(q=0;q<y2-1;q++)	
			cout<<c[p][q]<<" ";
		cout<<c[p][y2-1]<<endl;
	}


		
		
return 0;
}
main()
{
      int x1,y1,x2,y2,i,j,k;
      int **p1,**p2,**p3;
      scanf("%d%d\n",&x1,&y1); 
      p1=(int**)malloc(x1*sizeof(int*));
      for(i=0;i<x1;i++)
      {
                       p1[i]=(int*)malloc(y1*sizeof(int));
      }
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<y1;j++)
                       {
                                        if(j==y1-1)scanf("%d",&p1[i][j]);
                                        else scanf("%d ",&p1[i][j]);
                       }
      }
      scanf("%d%d\n",&x2,&y2);
      p2=(int**)malloc(x2*sizeof(int*));
      for(i=0;i<x2;i++)
      {
                       p2[i]=(int*)malloc(y2*sizeof(int));
      }
      for(i=0;i<x2;i++)
      {
                       for(j=0;j<y2;j++)
                       {
                                        if(j==y2-1)scanf("%d",&p2[i][j]);
                                        else scanf("%d ",&p2[i][j]);
                       }
      }
      p3=(int**)malloc(x1*sizeof(int*));
      for(i=0;i<x1;i++)
      {
                       p3[i]=(int*)malloc(y2*sizeof(int));
      }
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<y2;j++)p3[i][j]=0;
      }
      for(i=0;i<x1;i++)
      {
                       for(j=0;j<y2;j++)
                       {
                                        for(k=0;k<x2;k++)
                                        {
                                                         p3[i][j]=p3[i][j]+p1[i][k]*p2[k][j];
                                        }
                                        if(j==y2-1)printf("%d\n",p3[i][j]);
                                        else printf("%d ",p3[i][j]);
                       }
      }
}
int main()
{int n,m,p,q;
cin>>n>>m;
int a[100][100],b[100][100];
int i,j,sum;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{cin>>a[i][j];            } 
cin>>p>>q; 
for(i=0;i<p;i++)
for(j=0;j<q;j++)
{cin>>b[i][j];            }  
int c[100][100];
for(i=0;i<n;i++)
for(j=0;j<q;j++)
{c[i][j]=0;int k;
for(k=0;k<m;k++)
c[i][j]+=a[i][k]*b[k][j]; 
cout<<c[i][j];
if(j==q-1&&i!=n-1)
cout<<endl;
else if(j==q-1&&i==n-1)
     break;
else if(j!=q-1)
cout<<' ';
 }  

                  
 
 return 0;
}
int main()
{
	int a[100][100],b[100][100],c[100][100]={0};
	int i,j,m,n,p,q,x1,y1,x2,y2,k;
	cin>>x1>>y1;
	for(i=0;i<x1;i++)
	{
		for(j=0;j<y1;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>x2>>y2;
	for(m=0;m<x2;m++)
	{
		for(n=0;n<y2;n++)
		{
			cin>>b[m][n];
		}
	}
	for(p=0;p<x1;p++)
	{
		for(q=0;q<y2;q++)
		{
			for(k=0;k<y1;k++)
			{
				c[p][q]=a[p][k]*b[k][q]+c[p][q];
			}
		}
	}
	for(p=0;p<x1;p++)
	{
		for(q=0;q<y2;q++)
		{
			if(q!=y2-1)
				cout<<c[p][q]<<" ";
			else 
				cout<<c[p][q];
		
		}
		cout<<endl;
	}
	return 0;
}
int main()
{
    long int a[101][101],b[101][101],c[101][101],i,j,k,l,m,n,x1,x2,y1,y2;
    scanf("%d%d",&x1,&y1);
    for (i=1;i<=x1;i++)
        for (j=1;j<=y1;j++)
            scanf("%d",&a[i][j]);
    scanf("%d%d",&x2,&y2);
    for (i=1;i<=x2;i++)
        for (j=1;j<=y2;j++)
            scanf("%d",&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-1;j++)
            printf("%d ",c[i][j]);
        printf("%d\n",c[i][y2]);
    }
    return 0;
}
//******************
//???3         **
//??????    **
//???2013.11.1 **
//******************
int main()
{
	int x1, x2, y1, y2, A[105][105], B[105][105], c[105][105], num = 0;

	memset( c, 0, sizeof(c) );

	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];

	for ( int a = 0; a < x1; a++ )

		for ( int b = 0; b < y2; b++ )

				for ( int j = 0; j < y1; j++ )
				
					c[a][b] = c[a][b] + A[a][j] * B[j][b];
					
	for ( int i = 0; i < x1; i++ )
	{
		for ( int j = 0; j < y2 - 1; j++ )

			cout << c[i][j] << " ";

		cout << c[i][y2 - 1] << "\n";
	}
	return 0;
}
int main()
{
	int x1 ,y1, x2, y2, a[101][101], b[101][101], c[101][101], i, j;
	memset(c, 0, sizeof(c));
	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(int l = 0; l < y1; l++)
				c[i][j] = c[i][j] + a[i][l] * b[l][j];
	for(i = 0; i < x1; i++)
	{
		cout << c[i][0];
		for(j = 1; j < y2; j++)
			cout << " " << c[i][j];
		cout << endl;
	}
	return 0;
}
/*
 * ???test.cpp
 * ??????
 * ????: 2010-11-20
 * ??????
 */
int main(){
	int x1,y1,x2,y2;  //???????????
	cin>>x1>>y1;
	int c1[x1][y1];  //????????????
	for(int x=0;x<x1;x++)  //??????
		for(int y=0;y<y1;y++)
			cin>>c1[x][y];
	cin>>x2>>y2;  //??????????????
	int c2[x2][y2];
	for(int x=0;x<x2;x++)
		for(int y=0;y<y2;y++)
			cin>>c2[x][y];
	int c[x1][y2];  //????????
	for(int i=0;i<x1;i++)memset(c[i],0,sizeof(c[i]));  
             //??????????0
	for(int x=0;x<x1;x++)  //????
		for(int y=0;y<y2;y++)
			for(int i=0;i<y1;i++)  
          //??????????????????????
				c[x][y]+=c1[x][i]*c2[i][y];  
	for(int x=0;x<x1;x++){    //????
		for(int y=0;y<y2-1;y++)
			cout<<c[x][y]<<" ";
		cout<<c[x][y2-1]<<endl;  //?????????
	}
return 0;
}
void main()
{
	int a[101][101],b[101][101],i,j,k,c[101][101]={0},x1,y1,x2,y2;
    scanf("%d %d",&x1,&y1);
	for(i=1;i<=x1;i++)
	{
		for(j=1;j<=y1;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	scanf("%d %d",&x2,&y2);
	for(i=1;i<=y1;i++)
	{
		for(j=1;j<=y2;j++)
		{
			scanf("%d",&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];
			}
		}
	}
	for(i=1;i<=x1-1;i++)
	{
		for(j=1;j<=y2-1;j++)
		{
			printf("%d ",c[i][j]);
		}
		printf("%d\n",c[i][y2]);
	}
	for(j=1;j<=y2-1;j++)
	{
		printf("%d ",c[x1][j]);
	}
	printf("%d",c[x1][y2]);
}
int main()
{
    int x1,x2,y1,y2;
    scanf("%d %d",&x1,&y1);
    int a[x1][y1];
    int i,j,k;
    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 (k=0;k<y1;k++)
              c[i][j]=c[i][j]+a[i][k]*b[k][j];
           if (j==y2-1)
              printf("%d\n",c[i][j]);
           else printf("%d ",c[i][j]);
       }
    getchar();
    getchar();
}
int main()
{
int x1,x2,y1,y2,i,j,k,t,a[102][102],b[102][102],p,q,z,c[125][125],g,h;
cin>>x1>>y1;
for (i=1;i<=x1;i++)
{
for (j=1;j<=y1;j++)
{
	cin>>a[i][j];
}
}
cin>>x2>>y2;
for (p=1;p<=x2;p++)
{
for (q=1;q<=y2;q++)
{
	cin>>b[p][q];
}
}
for (k=1;k<=x1;k++)
{
for (t=1;t<=y2;t++)
{
	c[k][t]=0;
	for (z=1;z<=x2;z++)
	{
		c[k][t]=c[k][t]+a[k][z]*b[z][t];
	}
}
}
for (g=1;g<=x1;g++)
{
	for (h=1;h<=y2-1;h++)
	{
		cout<<c[g][h]<<" ";
	}
	cout<<c[g][y2]<<endl;
}
return 0;
}
main()
{
	int x1,y1,x2,y2,i,j,k;
	int a[MAX][MAX],b[MAX][MAX],c[MAX][MAX];
	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 (i=0;i<x1;i++)
		for (j=0;j<y2;j++)
			for (k=0;k<100;k++)
				c[i][j]=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\n",c[i][j]);
	
}
void scan(int x1,int y1,int a[100][100])
{
 int i,j;       
 for(i=0;i<x1;i++)
    {
        for(j=0;j<y1;j++)
        scanf("%d",&a[i][j]);
     }       
      
       
} 

int multi(int i,int j,int s,int a[100][100],int b[100][100])
{
if(s==0)
return a[i][0]*b[0][j];
if(s>0)
return a[i][s]*b[s][j] + multi(i,j,s-1,a,b);
}


int main()

{
int x1,y1,x2,y2,i,j,k,s;
int a[100][100]={0},b[100][100]={0},c[100][100]={0};
scanf("%d%d",&x1,&y1);
scan(x1,y1,a);
scanf("%d%d",&x2,&y2);
scan(x2,y2,b);  
s=x2-1; 
for(i=0;i<x1;i++)
    {
        for(j=0;j<y2;j++)
                {
                    c[i][j]=multi(i,j,s,a,b);    
                }
    }  


for(i=0;i<x1;i++)
    {
        
        printf("%d",c[i][0]);
        for(j=1;j<y2;j++)
                {
                    printf(" %d",c[i][j]);
                }
        printf("\n");
    }       
return 0;
}
main()
{
    int A[100][100],B[100][100],C[100][100];
    int m=0,x1,x2,y1,y2;
    scanf("%d %d",&x1,&y1);
    for(int i=0;i<x1;i++)
    {
		for(int j=0;j<y1;j++)
		{
			scanf("%d",&A[i][j]);
		}
    }
    scanf("%d %d",&x2,&y2);
    for(int i=0;i<x2;i++)
    {
		for(int j=0;j<y2;j++)
		{
			scanf("%d",&B[i][j]);
		}
    }
	for(int i=0;i<x1;i++)
	{
		for(int j=0;j<y2;j++)
		{
			for(int k=0;k<x2;k++)
			{
				if(k==0)
				C[i][j]=A[i][k]*B[k][j];
				else
				C[i][j]=A[i][k]*B[k][j]+C[i][j];
				
			}
		}
	}
	for(int i=0;i<x1;i++)
	{
		for(int j=0;j<y2;j++)
		{
			if(j==0 && y2!=1)
			printf("%d",C[i][j]);
			else if(j==0 && y2==1)
			printf("%d\n",C[i][j]);
			else if(j<(y2-1) && j>0)
			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]);
		}
	}    
}
int main()
{
	int a[100][100],b[100][100],c[100][100];
	int i,j,x,y,p,q,k,m,n,sum=0,t;
	scanf("%d %d",&i,&j);
	for(n=0;n<i;n++)
	{
		for(m=0;m<j;m++)
			scanf("%d",&a[n][m]);

	}
	scanf("%d %d",&x,&y);
	for(n=0;n<x;n++)
	{
		for(m=0;m<y;m++)
			scanf("%d",&b[n][m]);

	}
	for(p=0;p<i;p++)
	{
		for(q=0;q<y;q++)
		{
			for(k=0;k<j;k++)
			{
			    t=a[p][k]*b[k][q];
				sum=sum+t;
				c[p][q]=sum;
			}
			sum=0;
		}
	}
	for(p=0;p<i;p++)
	{
		for(q=0;q<y;q++)
		{
			if(q<y-1)
				printf("%d ",c[p][q]);
			if(q==y-1&&p!=i-1)
				printf("%d\n",c[p][q]);
			if(q==y-1&&p==i-1)
				printf("%d",c[p][q]);
		}
	}
	return 0;
	

}
//******************************
//???:3.cpp
//??: ??? 1300012754
//??:2013.11.1
//??:????
//******************************
int main()
{
	int x1, y1, x2, y2;     //????????x1,y1;????????x2,y2;
	int a[110][110];
	int b[110][110];        //???????
	int c[110][110];        //???????????
	memset(a, 0, sizeof(a));
	memset(b, 0, sizeof(b));
	memset(c, 0, sizeof(c));//???????

	int i, j;  //????

	//???????????????????????????????????????
	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++)    //??????????????x1,y2??????
		{
			//????C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + ..... + A[i][q]*B[q][j]?????????
			for (int k = 1; k <= y1; k++)
			{
				c[i][j] = c[i][j] + a[i][k] * b[k][j];
			}
		}
	}

	//??????
	for (i = 1; i <= x1; i++)
	{
		cout << c[i][1];  //???????
		for (j = 2; j <= y2; j++)  //????????????????
		{
			cout << " " << c[i][j];
		}
		cout << endl;     //??????????
	}
	return 0;
}
main()
{
      int m,n;
      int a[100][100];
      scanf("%d %d",&m,&n);
      int i,j;
      for(i=0;i<m;i++)
      {
                      for(j=0;j<n;j++)
                      {
                                      scanf("%d",&a[i][j]);
                      }
      }
      int p,q;
      int b[100][100];
      scanf("%d %d",&p,&q);
      for(i=0;i<p;i++)
      {
                      for(j=0;j<q;j++)
                      {
                                      scanf("%d",&b[i][j]);
                      }
      }
      int c[100][100];
      for(i=0;i<m;i++)
      {
                      for(j=0;j<q;j++)
                      {
                                      c[i][j]=0;
                                      for(int k=0;k<n;k++)
                                      {
                                              c[i][j]+=a[i][k]*b[k][j];
                                      }
                                      if(j<q-1)
                                      printf("%d ",c[i][j]);
                                      if(j==q-1)
                                      printf("%d\n",c[i][j]);
                      }
      }
}
main()
{
      int x1,y1;
      scanf("%d %d",&x1,&y1);
      int a[x1][y1],i,j,k;
      for(i=0;i<x1;i++)
      {
             for(j=0;j<y1;j++)
             {
                   if(j == 0) scanf("%d",&a[i][j]);
                   else       scanf(" %d",&a[i][j]);
             }
      } 
      int x2,y2;
      scanf("%d %d",&x2,&y2);
      int b[x2][y2];
      for(i=0;i<x2;i++)
      {
             for(j=0;j<y2;j++)
             {
                   if(j == 0) scanf("%d",&b[i][j]);
                   else       scanf(" %d",&b[i][j]);
             }
      }
      int t;
      for(i=0;i<x1;i++) 
      {
             for(j=0;j<y2;j++)
             {
                   t = 0;
                   for(k=0;k<y1;k++)
                          t += (a[i][k])*(b[k][j]);
                          if(j != y2-1) printf("%d ",t);
                          else        printf("%d\n",t);
             } 
      }
}
main()
{
      int x1,y1,x2,y2,i,j,k;
      int a[101][101],b[101][101],c[101][101];
      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<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\n",c[i][y2-1]);
      }
      getchar();
      getchar();
}
int main()
{
	int i,j,q,a[100][100],b[100][100],x1,x2,y1,y2,c[100][100];
	for(i=0;i<100;i++)
		for(j=0;j<100;j++)
			a[i][j]=b[i][j]=c[i][j]=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];
	if(x2!=y1)
		cout<<"error";
	else
	{
		for(i=0;i<x1;i++)
		{
			for(j=0;j<y2;j++)
			{
				for(q=0;q<x2;q++)
				{
					c[i][j]=a[i][q]*b[q][j]+c[i][j];
				}
			}
		}
		/*for(i=0;i<x1;i++)
		{
			for(j=0;j<y1-1;j++)
		    {
				cout<<a[i][j]<<' ';
			}
		    cout<<a[i][y1-1]<<endl;
		}
		for(i=0;i<x2;i++)
		{
			for(j=0;j<y2-1;j++)
			{
				cout<<b[i][j]<<' ';
			}
			cout<<b[i][y2-1]<<endl;
		}*/
		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[100][100],b[100][100],c[100][100];
	int x1,y1,x2,y2,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++)
	 c[i][j]=0;
	}
	
	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++)
	{cout<<c[i][j]<<" ";
	}
	cout<<c[i][y2-1];
	cout<<endl;
	}
	return 0;
}
//*********************
//????????.cpp*
//?  ?????      *
//*********************
int main()
{
	int a[100][100],b[100][100],c[100][100];//????????
	int x1,y1,x2,y2;
	int i,j,k;
	for(i=0;i<100;i++)
	{
		for (j=0;j<100;j++)
		{
			a[i][j]=0;
			b[i][j]=0;
			c[i][j]=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++)
		{
			for(k=0;k<x2;k++)
				c[i][j]+=a[i][k]*b[k][j];//??c[i][j]
			cout<<c[i][j];
			if(j<y2-1)
				cout<<" ";
		}
		cout<<endl;
	}
	return 0;
}
main()
{
      int x1,y1,x2,y2,m;
      int a[100][100];
      int i,j;
      scanf("%d %d",&x1,&y1);
      for (i=0;i<x1;i++)
      {
          for (j=0;j<y1;j++)
          {
              scanf("%d",&a[i][j]);
          }
      }
      int b[100][100];
      int c[100][100];
      scanf("%d %d",&x2,&y2);
      for (i=0;i<x2;i++)
      {
          for (j=0;j<y2;j++)
          {
              scanf("%d",&b[i][j]);
          }
      }
      int q;
      q=y1;
      for (i=0;i<x1;i++)
      {
          for (j=0;j<y2;j++)
          {
              c[i][j]=0;
              for (m=0;m<q;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]);
              }   
          }
      }
      getchar();getchar();getchar();getchar();getchar();getchar();getchar();getchar();getchar();
}
/*
 * eamm.cpp
 *
 *  Created on: 2010-11-20
 *      Author: 1000012763
 *      ????
 */

int main() {

	//????1
	int x1, y1, x2, y2;
	cin >> x1 >> y1;
	int a[x1][y1];
	for (int i = 0; i < x1; i++)
		for (int j = 0; j < y1; j++)
			cin >> a[i][j];

	//????2
	cin >> x2 >> y2;
	int b[x2][y2];
	for (int i = 0; i < x2; i++)
		for (int j = 0; j < y2; j++)
			cin >> b[i][j];

	//????????
	int x, y;
	if (x1 >= y1)
		x = x1 > x2 ? x1 : x2;
	else
		x = x1 < x2 ? x1 : x2;
	if (x2 <= y2)
		y = y1 > y2 ? y1 : y2;
	else
		y = y1 < y2 ? y1 : y2;

	//???????
	int c[x][y];
	for (int i = 0; i < x; i++)
		for (int j = 0; j < y; j++)
			c[i][j] = 0;
	for (int i = 0; i < x; i++)
		for (int j = 0; j < y; j++)
			for (int k = 0; k < y1; k++) {
				c[i][j] = c[i][j] + a[i][k] * b[k][j];
			}

	//????
	for (int i = 0; i < x; i++) {
		for (int j = 0; j < y - 1; j++)
			cout << c[i][j] << " ";
		cout << c[i][y - 1] << endl;//?????
	}
	return 0;
}
main()
{
    int a[100][100];
    int b[100][100];
    int c[100][100]={{0}};
    int i,j,i1,j1,i2,j2,k;
    scanf("%d %d",&i1,&j1);
    for (i=0;i<=i1-1;i++)
    {
        for(j=0;j<=j1-1;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    scanf("%d %d",&i2,&j2);
    for (i=0;i<=i2-1;i++)
    {
        for(j=0;j<=j2-1;j++)
        {
            scanf("%d",&b[i][j]);
        }
    }
    for (i=0;i<=i1-1;i++)
    {
        for (j=0;j<=j2-1;j++)
        {
            for (k=0;k<=j1-1;k++)
            {
                c[i][j] += a[i][k]*b[k][j];
            }
            if (j==j2-1)
            {
                printf("%d",c[i][j]);
            }
            else
            {
                printf("%d ",c[i][j]);
            }
        }
        printf("\n");
    }
}